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

230
Vistas
Regex para valores alfanuméricos y no dos guiones bajos consecutivos guión bajo

Tengo un requisito en javascript para escribir una expresión regular para la siguiente condición

El campo Etiqueta maestra del registro de metadatos personalizados solo puede contener guiones bajos y caracteres alfanuméricos. Debe ser único, comenzar con una letra, no incluir espacios, no terminar con un guión bajo y no contener dos guiones bajos consecutivos.

Si omitimos la parte única, ya que tenemos que verificarla con los registros del sistema, necesito una expresión regular para probar las otras condiciones mencionadas anteriormente.

Aquí hay una expresión que he construido hasta ahora pero no parece funcionar. Soy nuevo en las expresiones regulares, por lo que agradecería cualquier ayuda.

 /^[a-zA-Z]([a-zA-Z0-9][^ ][^__])[^_]*$/
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La cadena tiene todas las propiedades requeridas si y solo si coincide con la siguiente expresión regular:

 /^[az][az\d]*(?:_[az\d]+)*$/i

Manifestación

La expresión regular se puede dividir de la siguiente manera.

 / ^ # match beginning of string [az] # match a letter [az\d]* # match one or more alphanumeric characters (?: # begin non-capture group _ # match an underscore [az\d]+ # match one or more alphanumeric characters )* # end non-capture group and execute it zero or more times $ # match end of string /i # specify matches of letters to be case-indifferent

Tenga en cuenta que la forma en que evito la presencia de dos guiones bajos seguidos tiene el efecto secundario fortuito de garantizar que el último carácter de la cadena no sea un guión bajo (¡un regalo de promoción!).

about 4 years ago · Juan Pablo Isaza Denunciar

0

Usted podría estar buscando

 ^(?!_|\d)(?!.*__)(?!.*_$)\w+$

Vea una demostración en regex101.com .


En JavaScript :

 const regex = /^(?!_)(?!.*__)(?!.*_$)\w+$/gm; const str = `_ A abcd _ 123 some_spaces not_any_spaces__ 1test34 correct_thing`; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`${match}`); }); }

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