Sintaxis de expresiones regulares de PCRE
PHP Manual

Delimitadores

Cuando se usan funciones PCRE, se requiere que el patrón esté encerrado entre delimitadores. Un delimitador puede ser cualquier carácter no alfanumérico, que no sea una barra invertida, y que no sea un espacio en blanco.

Los delimitadores que se usan a menudo son barras oblícuas (/), signos de número (#) y virgulillas (~). Los siguientes ejemplos son todos patrones delimitados válidos.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Si el delimitador necesita ser comparado dentro del patrón se debe escapar usando una barra invertida. Si el delimitador aparece a menudo dentro del patrón, es una buena idea escoger otro delimitador para aumentar la legibilidad.

/http:\/\//
#http://#
La función preg_quote() se puede usar para escapar una cadena para inyectarla dentro de un patrón y su segundo parámetro opcional de puede usar parar especificar el delimitador a escapar.

Además de los delimitadores anteriormente mencionados, también es posible usar delimitadores estilo paréntesis donde los paréntesis de apertura y cierre son el delimitador de inicio y final, respectivamente.

{this is a pattern}

Puede añadir modificadores de patrón después del delimitador final. El siguiente es un ejemplo de comparación insensible a mayúsculas-minúsculas:

#[a-z]#i


Sintaxis de expresiones regulares de PCRE
PHP Manual