Algunos caracteres tienen un significado en las expresiones regulares y otro completamente diferente en otros contextos. Por ejemplo, en las expresiones regulares, el punto (.) es un carácter especial que coincide con cualquier carácter. En el lenguaje escrito, el punto (.) se utiliza para indicar el final de una oración. En matemáticas, el punto decimal (.) se utiliza para separar la parte entera de un número de la parte fraccionaria.
Las expresiones regulares evalúan primero un carácter especial en el contexto de las expresiones regulares: si se detecta un punto, la expresión regular sabe que tiene que recuperar todas los resultados que coincidan con cualquier carácter.
Por ejemplo, la expresión regular 1. coincide con:
- 11
- 1A
La expresión regular 1.1 coincide con:
- 111
- 1A1
Si proporciona una dirección IP como expresión regular, obtendrá resultados impredecibles. Por ejemplo, la expresión regular 0.0.0.0 coincide con:
- 0102030
- 0a0b0c0
Para indicar a las expresiones regulares que interpreten el punto dentro de su contexto original, es decir, como separador de diferentes partes de la dirección IP y no como un carácter especial que coincide con cualquier otro carácter, debe proporcionar una señal a tal efecto, es decir, la barra invertida (\). Cuando las expresiones regulares detectan una barra invertida, saben que deben interpretar literalmente el carácter siguiente a ella. La expresión regular que coincidiría con la dirección IP 0.0.0.0 sería:
0\.0\.0\.0
Utilice la barra invertida para evitar los caracteres especiales e interpretarlos de forma literal. Por ejemplo:
- \\ (evita la barra invertida).
- \[ (evita el corchete).
- \{ (evita la llave).
- \. (evita el punto).