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:
| 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 |
| 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 |