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_-]%
También es posible utilizar los delimitadores estilo corchete, donde los corchetes de apertura y cierre son los delimitadores inicial y final, respectivamente. (), {}, [] y <> son todos pares de delimitadores válidos.
(this [is] a (pattern)) {this [is] a (pattern)} [this [is] a (pattern)] <this [is] a (pattern)>
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://#
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