Delimitadores
Ao usar as funções PCRE, é necessário que a expressão esteja entre delimitadores. Um delimitador pode ser qualquer caractere não alfanumérico que não seja uma barra invertida e que não corresponda a um espaço em branco. Espaços em branco antes de um delimitador válido são silenciosamente ignorados.
Delimitadores comumente usados são barras (/
), cerquilhas
(#
) e til (~
). Os exemplos
a seguir são padrões com delimitadores válidos.
/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]%
Também é possível usar delimitadores
no estilo parênteses, onde os delimitadores inicial e final são
os caracteres de abertura e fechamento, respectivamente. ()
,
{}
, []
e <>
são todos pares válidos de delimitadores nesse estilo.
(esta [é] uma (expressão)) {esta [é] uma (expressão)} [esta [é] uma (expressão)] <esta [é] uma (expressão)>
Se o delimitador precisa ser correspondido dentro da expressão, ele precisa ser escapado usando uma barra invertida. Se o delimitador aparece com muita frequência dentro da expressão, é uma boa ideia escolher um delimitador diferente para melhorar a legibilidade.
/http:\/\// #http://#
Pode-se adicionar modificadores de expressão após o delimitador final. Este é um exemplo de correspondência insensível a maiúsculas/minúsculas usando o modificador "i":
#[a-z]#i