El poder de las expresiones regulares proviene de la capacidad de incluir alternativas y repeticiones en el patrón. Estas se codifican en el patrón mediante el uso de metacaracteres, que no se representan a sí mismos, sino que se interpretan de alguna manera especial.
Hay dos conjuntos diferentes de metacaracteres: aquellos que se reconocen en cualquier parte del patrón excepto dentro de corchetes, y aquellos que se reconocen dentro de corchetes. Fuera de corchetes, los metacaracteres son los siguientes:
| Metacaracter | Descripción |
|---|---|
| \ | carácter de escape general con varios usos |
| ^ | asegurar el inicio del sujeto (o línea, en modo multiline) |
| $ | asegurar el final del sujeto o antes de un salto de línea de terminación (o final de línea, en modo multiline) |
| . | coincidir con cualquier carácter excepto salto de línea (por defecto) |
| [ | inicio de definición de clase de caracteres |
| ] | fin de definición de clase de caracteres |
| | | inicio de rama alternativa |
| ( | inicio de subpatrón |
| ) | fin de subpatrón |
| ? | extiende el significado de (, también 0 o 1 cuantificador, también hace que los cuantificadores codiciosos sean perezosos (ver repetición) |
| * | cuantificador 0 o más |
| + | cuantificador 1 o más |
| { | inicio de cuantificador min/max |
| } | fin de cuantificador min/max |
| Metacaracter | Descripción |
|---|---|
| \ | carácter de escape general |
| ^ | niega la clase, pero solo si es el primer carácter |
| - | indica rango de caracteres |