Alguns caracteres têm um significado nas expressões regulares e, em outros contextos, significados completamente diferentes. Nas expressões regulares, por exemplo, o ponto (.) é um caractere especial usado para corresponder a qualquer outro caractere. Na linguagem escrita, o ponto final (.) é usado para indicar o final de uma frase. Na matemática, o ponto decimal (.) é usado para separar a parte inteira de um número da parte fracionada.
Primeiramente, as expressões regulares avaliam um caractere especial no contexto delas: se houver um ponto, ele fará correspondência a qualquer outro caractere.
Por exemplo, a expressão regular "1." corresponde a:
- 11
- 1A
A expressão regular 1.1 corresponde a
- 111
- 1A1
Se você fornecesse um endereço IP como uma expressão regular, teria resultados imprevisíveis. Por exemplo, a expressão regular "0.0.0.0" corresponde a:
- 0102030
- 0a0b0c0
Para que as expressões regulares considerem o ponto no contexto original dele, como um separador de partes diferentes do endereço IP e não um caractere especial usado para corresponder a qualquer outro caractere, é necessário inserir um sinal, ou seja, a barra invertida (\). Quando há uma barra invertida, as expressões regulares interpretam o próximo caractere literalmente. Para corresponder ao endereço IP "0.0.0.0", a expressão regular seria:
0\.0\.0\.0
Use a barra invertida como um caractere de escape com qualquer caractere especial para que ele seja interpretado literalmente. Por exemplo:
- \\ (caractere de escape com a barra invertida)
- \[ (caractere de escape com o colchete)
- \{ (caractere de escape com a chave)
- \. (caractere de escape com o ponto)