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