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

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

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 Report

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 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!