Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

193
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!