Alguns carateres têm um significado nas expressões regulares e significados completamente diferentes noutros contextos. Por exemplo, nas expressões regulares, o ponto (.) é um caráter especial usado para corresponder a qualquer caráter. Na linguagem escrita, o ponto final (.) é usado para indicar o fim de uma frase. Em matemática, o ponto decimal (.) é usado para separar a parte inteira de um número da parte fracionária.
As expressões regulares avaliam primeiro um caráter especial no contexto das expressões regulares: se a expressão encontrar um ponto, corresponde a qualquer caráter.
Por exemplo, a expressão regular 1.
corresponde ao seguinte:
- 11
- 1A
A expressão regular 1.1
corresponde ao seguinte:
- 111
- 1A1
Se fornecer um endereço IP como uma expressão regular, obtém resultados imprevisíveis. Por exemplo, a expressão regular 0.0.0.0
corresponde ao seguinte:
- 0102030
- 0a0b0c0
Para usar com êxito expressões regulares para identificar o ponto no respetivo contexto original como um separador para as diferentes partes do endereço IP (e não como um caráter especial usado para corresponder a qualquer outro caráter), tem de fornecer um sinal para esse efeito. A barra invertida (\
) é esse sinal. Quando uma expressão regular encontra uma barra invertida, reconhece que deve interpretar o caráter seguinte de forma literal. 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 interpretar de forma literal qualquer caráter especial; por exemplo:
\\
(escapa à barra invertida)\[
(escapa ao parênteses retos)\{
(escapa à chaveta)\.
(escapa ao ponto)