Alguns caracteres têm um significado em expressões regulares e significados completamente diferentes em outros contextos. Por exemplo, em expressões regulares, o ponto (.) é um caractere especial usado para corresponder a qualquer caractere. Na linguagem escrita, o ponto (.) é usado para indicar o fim de uma frase. Na matemática, o ponto decimal (.) é usado para separar a parte inteira de um número da parte fracionária.
As expressões regulares primeiro avaliam um caractere especial no contexto de expressões regulares: se a expressão encontrar um ponto, ela corresponderá a qualquer caractere.
Por exemplo, a expressão regular 1. corresponde ao seguinte:
- 11
- 1A
A expressão regular 1.1 corresponde ao seguinte:
- 111
- 1A1
Se você fornecer um endereço IP como uma expressão regular, vai receber resultados imprevisíveis. Por exemplo, a expressão regular 0.0.0.0 corresponde ao seguinte:
- 0102030
- 0a0b0c0
Para usar expressões regulares com sucesso para identificar o ponto no contexto original como um separador para as diferentes partes do endereço IP (e não como um caractere especial usado para corresponder a qualquer outro caractere), é necessário fornecer um sinal para esse efeito. A barra invertida (\) é esse sinal. Quando uma expressão regular encontra uma barra invertida, ela reconhece que precisa interpretar o próximo caractere literalmente. Uma expressão regular para corresponder ao endereço IP 0.0.0.0 seria a seguinte:
0\.0\.0\.0
Use a barra invertida para escapar de qualquer caractere especial e interpretá-lo literalmente. Por exemplo:
\\(escapa da barra invertida)\[(escapa do colchete)\{(escapa da chave)\.(escapa do ponto)