"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Podemos obter uma verdadeira análise de comprimento variável em expressões regulares?

Podemos obter uma verdadeira análise de comprimento variável em expressões regulares?

Publicado em 15/11/2024
Navegar:647

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

Alternativas de asserção lookbehind de comprimento variável para expressões regulares

Asserções lookbehind de comprimento variável em expressões regulares, denotadas por (?

Python com módulo regex

O módulo Python regex oferece suporte para asserções lookbehind de comprimento variável.

import regex

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

\K Token

Expressões regulares modernas introduzem o token \K, o que garante que os caracteres correspondentes antes dele não sejam incluídos na correspondência.

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

Limitações

Embora \K forneça alguma funcionalidade de lookbehind, ele não pode remover caracteres até um determinado apontar ou ser usado várias vezes em uma expressão.

Implementações aprimoradas de expressões regulares

Além de regex para Python, outras implementações aprimoradas de expressões regulares podem existir para Perl, Ruby, JavaScript e PHP. A investigação dessas alternativas pode fornecer opções adicionais para lidar com asserções lookbehind de comprimento variável.

Perguntas

  • O efeito de \K pode ser estendido a um ponto específico da partida?
  • Existe alguma implementação aprimorada de expressões regulares para Perl, Ruby, JavaScript ou PHP que suporte asserções lookbehind de comprimento variável?
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3