## Metacaracteres

El poder de las expresiones regulares viene dado por la capacidad de incluir alternativas y repeticiones en el patrón. Éstos están codificadoes en el patrón por el uso de metacaracteres, los cuales no se representan a sí mismos, sino que son interpretados de una forma especial.

Hay dos conjuntos diferentes de metacaracteres: aquéllos que son reconocidos en cualquier lugar de un patrón excepto dentro de los corchetes, y aquéllos que son reconocidos dentro de los corchetes. Fuera de los corchetes, los metacaracteres son los siguientes:

Metacaracteres fuera de corchetes
Metacarácter | Descripción
--- | ---
\ | carácter de escape general con varios usos
^ | declaración de inicio de sujeto (o línea, en modo multilínea)
$ | declaración de fin de sujeto o antes de la terminación de nueva línea (o fin línea, en modo multilínea)
. | coincide con cualquier carácter excepto con el de nueva línea (por defecto)
[ | inicio de la definición de la clase carácter
] | fin de la definición de la clase carácter
| | inicio de rama alternativa
( | inicio de sub-patrón
) | fin de sub-patrón
? | amplia el significado de (, también cuantificador 0 o 1, también hace perezosos a los cuantificadores codiciosos (véase repetición)
* | cuantificador 0 o más
+ | cuantificador 1 o más
{ | inicio de cuantificador mín/máx
} | fin de cuantificador mín/máx

La parte de un patrón que está entre corchetes se llama una clase carácter. En una clase carácter los únicos metacaracteres son:

Metacaracteres dentro de corchetes (clases carácter)
Metacarácter | Descripción
--- | ---
\ | carácter de escape general
^ | niega la clase, pero sólo si se trata del primer carácter
- | indica el rango de caracteres

Las siguientes secciones describen el uso de cada metacarácter.