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

171
Vistas
Posibles formas de emular metaescapes \A y \z (anclajes de cadena)

Descubrí que \A se puede emular con:

 (?<!\s)^

y PCRE(2)/re2 \z (Python \Z ) se pueden emular con:

 $(?!\s)

demostración de expresiones regulares 101

¿De qué otra manera se pueden emular \A y/o \z en JS?

Incluso regular-expression.info no menciona lo que he presentado.

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

0

Además de las soluciones que ha utilizado, puede probar una de las siguientes:

Deshabilite el modificador multilínea. En Javascript, por defecto, ^ coincide con \A y $ coincide con \z y usa:

 ^|$

Manifestación

o

puede capturarlos en grupos como se muestra a continuación:

 (^)[\s\S]*($)

Manifestación


  • (^) - haga coincidir el inicio de la primera línea y captúrelo en el grupo 1
  • [\s\S]* - coincide con avidez con más de 0 ocurrencias de cualquier carácter (incluyendo saltos de línea)
  • ($) : haga coincidir el final de la última línea y captúrelo en el grupo 2
about 4 years ago · Juan Pablo Isaza Denunciar

0

Cuando no necesita ^ y $ como límites de línea , estos símbolos actúan como \A y \z de manera predeterminada. Manifestación:

 let results = `a good test with a second line, and ending with a bad z a third line, and a bad z a final line, and a good z` .match(/^a (\w+)|(\w+) z$/g); console.log(results);

Si necesita usar la detección de límite de línea en su expresión regular, entonces normalmente usaría el modificador /m , y luego puede usar su idea de mirar alrededor.

Alternativamente, puede omitir el modificador /m y simplemente usar ^ y $ para \A y \z , pero luego use la búsqueda para detectar los límites de la línea:

  • comienzo de línea: (?<![^\n\r])
  • final de línea: (?![^\n\r])

 let results = `a bad test with a good line, and ending with a good z a third line, after a good line, and a bad z a final line, and a bad z` .match(/(?<![^\n\r]). good|good .(?![^\n\r])/g); console.log(results);

Para casos específicos a veces se pueden utilizar otras técnicas. Por ejemplo, de forma predeterminada (sin /s ), el patrón .* capturará cualquier cosa hasta el final de la línea, por lo que puede estar seguro de estar en el final de la línea después de esa captura.

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