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

250
Vistas
Pregunta sobre dividir una cadena con expresión regular en JS

Estoy aprendiendo algunas expresiones regulares.

Ahora estoy tratando de sacar la calle y el número de la casa de una cadena.

Así que esta es mi cadena "Driesstraat(Ide) 20". Driesstraat es el nombre de la calle. (Ide) es un acrónimo de municipio. 20 es el número de casa.

 let re = /^(\d*[\p{L} \d'\/\\\-\.]+)[,\s]+(\d+)\s*([\p{L} \d\-\/'"\(\)]*)$/iu let match = adresInput.value.match(re) if (match){ match.shift(); console.log(match.join('|')); }

El código anterior funciona cuando no hay (Ide). Obtuve esta cadena de un lector de Eid belga.

gracias de antemano

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

0

Lo primero es lo primero, (...) no coincide con su patrón (\d*[\p{L} \d'\/\\\-\.]+) , por lo que debe agregar (?:\(\p{L}*\))? o (?:\([^()]*\))? justo después de ese patrón para hacer coincidir opcionalmente una parte de una cadena entre paréntesis. (?:\(\p{L}*\))? coincidirá solo con letras entre corchetes y (?:\([^()]*\))? coincidirá con cualquier carácter que no sea ( y ) entre corchetes.

Además, cuando use expresiones regulares con el indicador /u , debe asegurarse de escapar solo lo que debe escaparse dentro de las clases de caracteres. Significa que escapaste varios caracteres dentro [...] . No necesita escapar ( , ) , . e incluso puede evitar escapar - cuando se coloca al final de la clase de personaje. Los caracteres que se deben escapar dentro de las clases de caracteres en el tipo de expresiones regulares de ECMAScript son \ , ] y ^ se debe escapar si está al comienzo de la clase de caracteres. Aunque el - también se puede escapar, es una buena práctica ponerlo al final de la clase de caracteres sin escapar.

Entonces, puedes usar

 /^(\d*[\p{L} \d'/\\.-]+)(?:\([^()]*\))?[,\s]+(\d+)\s*([\p{L} \d/'"()-]*)$/u

Vea la demostración de expresiones regulares .

Tenga en cuenta que ni siquiera tiene que escapar / dentro de las clases de caracteres en el sabor de expresiones regulares de ECMAScript en JavaScript.

Ver una prueba de JavaScript:

 let re = /^(\d*[\p{L} \d'/\\.\-]+)(?:\([^()]*\))?[,\s]+(\d+)\s*([\p{L} \d/'"()-]*)$/u; console.log(re.test("Driesstraat(Ide) 20"));

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