Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
REgex para alfabetos no repetidos separados por comas

Tengo un requisito donde necesito una expresión regular que

  1. no debe repetir el alfabeto
  2. solo debe contener alfabeto y coma
  3. no debe comenzar ni terminar con coma
  4. puede contener más de 2 alfabetos

ejemplo :-

 A,B --- correct A,B,C,D,E,F --- correct D,D,A --- wrong ,B,C --- wrong B,C, --- wrong A,,B,C --- wrong

Alguien puede ayudar ?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Otra idea con la captura y verificación mediante el uso de una búsqueda anticipada :

 ^(?:([AZ])(?!.*?\1),?\b)+$

Puede probar aquí en regex101 si cumple con sus requisitos.

Si no desea hacer coincidir caracteres individuales, por ejemplo, A , cambie el cuantificador + a {2,} .

about 4 years ago · Juan Pablo Isaza Denunciar

0

El enunciado de la pregunta es incompleto en varios aspectos. He hecho las siguientes suposiciones:

  1. Teniendo en cuenta que D,D,A es incorrecto, asumo que una letra no puede ir seguida de una coma seguida de la misma letra.
  2. La cadena puede contener la misma letra más de una vez siempre que se cumpla el número 1.
  3. Teniendo en cuenta que A,,B,C es incorrecto, supongo que una coma no puede seguir a una coma.
  4. Dado que los ejemplos contienen solo letras mayúsculas, supondré que las minúsculas no están permitidas (aunque solo es necesario establecer el indicador de mayúsculas y minúsculas ( i ) para permitir cualquiera de los casos).

Observamos que los requisitos se cumplen si y solo si la cadena comienza con una letra mayúscula y va seguida de una secuencia de pares de letras mayúsculas y comas, siempre que ninguna letra mayúscula vaya seguida de una coma seguida de la misma letra. Por lo tanto, podemos intentar hacer coincidir la siguiente expresión regular.

 ^(?:([AZ]),(?!\1))*[AZ]$

Manifestación

Los elementos de la expresión son los siguientes.

 ^ # match beginning of string (?: # begin a non-capture group ([AZ]) # match a capital letter and save to capture group 1 , # match a comma (?!\1) # use negative lookahead to assert next character is not equal # to the content of capture group 1 )* # end non-capture group and execute it zero or more times [AZ] # match a capital letter $ # match end of string
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay una gran solución de expresiones regulares feas:

 var inputs = ['A,B', 'D,D,D', ',B,C', 'B,C,', 'A,,B']; for (var i=0; i < inputs.length; ++i) { if (/^(?!.*?([^,]+).*,\1(?:,|$))[^,]+(?:,[^,]+)*$/.test(inputs[i])) { console.log(inputs[i] + " => VALID"); } else { console.log(inputs[i] + " => INVALID"); } }

La expresión regular tiene dos partes. Utiliza una anticipación negativa para afirmar que nunca se repiten dos entradas CSV en la entrada. Luego, utiliza un patrón sencillo para hacer coincidir cualquier entrada delimitada de CSV adecuada. Aquí hay una explicación:

 ^ from the start of the input (?!.*?([^,]+).*,\1(?:,|$)) assert that no CSV element ever repeats [^,]+ then match a CSV element (?:,[^,]+)* followed by comma and another element, 0 or more times $ end of the input
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda