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.
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