"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Podemos lograr una verdadera búsqueda hacia atrás de longitud variable en expresiones regulares?

¿Podemos lograr una verdadera búsqueda hacia atrás de longitud variable en expresiones regulares?

Publicado el 2024-11-15
Navegar:141

 Can We Achieve True Variable-Length Lookbehind in Regular Expressions?

Alternativas de aserción retrospectiva de longitud variable para expresiones regulares

Aserciones retrospectivas de longitud variable en expresiones regulares, indicadas por (?

Python con módulo de expresiones regulares

El módulo de expresiones regulares de Python ofrece soporte para aserciones de búsqueda hacia atrás de longitud variable.

import regex

m = regex.search('(?<!foo.*)bar', 'f00bar')
print(m.group())  # Output: bar

\K Token

Las expresiones regulares modernas introducen el token \K, lo que garantiza que los caracteres coincidentes anteriores a él no se incluyan en la coincidencia.

s/unchanged-part\Kchanged-part/new-part/x

Limitaciones

Si bien \K proporciona algunas funcionalidad de búsqueda hacia atrás, no puede eliminar caracteres hasta un punto específico ni usarse varias veces en una expresión.

Implementaciones mejoradas de expresiones regulares

Además de expresiones regulares para Python, pueden existir otras implementaciones mejoradas de expresiones regulares para Perl, Ruby, JavaScript y PHP. Investigar estas alternativas puede proporcionar opciones adicionales para manejar aserciones de búsqueda retrospectiva de longitud variable.

Preguntas

  • ¿Se puede extender el efecto de \K a un punto específico del partido?
  • ¿Existen implementaciones mejoradas de expresiones regulares para Perl, Ruby, JavaScript o PHP que admitan aserciones retrospectivas de longitud variable?
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3