Al usar las funciones PCRE, es obligatorio que el patrón esté encerrado por delimitadores. Un delimitador puede ser cualquier carácter no alfanumérico, no barra invertida, no espacio en blanco. Los espacios en blanco iniciales antes de un delimitador válido se ignoran silenciosamente.
Los delimitadores comúnmente utilizados son las barras inclinadas hacia adelante (/), signos de número
(#) y tildes (~). Los siguientes son ejemplos de patrones delimitados válidos.
/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]%
También es posible usar
delimitadores de estilo de corchetes donde los corchetes de apertura y cierre son el delimitador de inicio y fin, respectivamente. (),
{}, [] y <>
son todos pares de delimitadores de estilo de corchetes válidos.
(this [is] a (pattern))
{this [is] a (pattern)}
[this [is] a (pattern)]
<this [is] a (pattern)>
Si el delimitador necesita coincidir dentro del patrón debe ser escapado usando una barra invertida. Si el delimitador aparece con frecuencia dentro del patrón, es una buena idea elegir otro delimitador para aumentar la legibilidad.
/http:\/\// #http://#
Puede agregar modificadores de patrón después del delimitador final. El siguiente es un ejemplo de coincidencia sin distinción de mayúsculas y minúsculas:
#[a-z]#i