"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 > Como obter a funcionalidade Negative Lookbehind em JavaScript?

Como obter a funcionalidade Negative Lookbehind em JavaScript?

Publicado em 2024-11-09
Navegar:259

How to achieve Negative Lookbehind functionality in JavaScript?

Regex alternativo para lookbehind negativo em JavaScript

Em JavaScript, asserções de lookbehind negativo não são suportadas diretamente. No entanto, existem maneiras de obter funcionalidade semelhante.

Considere a seguinte regex:

(?

Esta regex corresponde a strings que terminam com .js exceto nome do arquivo.js. Em implementações de regex que suportam lookbehind, esta expressão funcionaria conforme o esperado.

Alternativa usando lookahead negativo

Como o JavaScript não tem lookahead, podemos usar lookahead negativo:

^(?:(?!filename\.js$).)*\.js$

Esta expressão verifica explicitamente cada caractere da string para garantir que a asserção lookbehind negativa (?!filename\.js$) mais o regex restante não correspondam. Se não corresponder, o caractere poderá corresponder.

Versão simplificada

Para versões JavaScript anteriores ao ECMAScript 2018, a seguinte versão simplificada pode ser usada:

^(?!.*filename\.js$).*\.js$

Esta expressão afirma que a string não contém filename.js em qualquer lugar e termina com .js.

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