"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 você escapa de caracteres especiais de expressões regulares em JavaScript?

Como você escapa de caracteres especiais de expressões regulares em JavaScript?

Publicado em 15/11/2024
Navegar:134

How do you escape regular expression special characters in JavaScript?

Como escapar de caracteres especiais de expressões regulares em JavaScript

O escape de caracteres especiais de expressões regulares é crucial para obter precisão na correspondência de padrões. Para fazer isso em JavaScript, você pode utilizar o caractere \ para prefixar caracteres que possuem um significado especial em expressões regulares.

Por exemplo, se você quiser corresponder a um literal [, você precisará escapar dele como \[ . Porém, para automatizar esse processo, é conveniente empregar uma função.

function escapeRegExp(text) {
  return text.replace(/[-[\]{}()* ?.,\\^$|#\s]/g, '\\$&');
}

Nesta função, o método replace identifica e substitui caracteres especiais por suas contrapartes com escape. A versão atualizada do caractere é prefixada com \, garantindo que o mecanismo de expressão regular o trate como um caractere literal em vez de um token especial.

Para ilustrar a aplicação desta função, considere o seguinte código:

const escapedString = escapeRegExp("[Munees]waran");

O escapedString agora contém o valor \[Munees\]waran, onde os colchetes [ e ] são escapados para evitar a expressão regular motor de interpretá-los como delimitadores de intervalo.

Originalmente, uma função mais específica chamada RegExp.escape estava disponível, mas devido às suas capacidades de escape limitadas, ela foi descontinuada. Em vez disso, para um escape abrangente de expressões regulares, é recomendado utilizar a função escapeRegExp mencionada acima.

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