Разделители
При использовании любой PCRE функции необходимо заключать шаблон в разделители. Разделителем может быть любой символ не являющийся буквой, цифрой, обратной косой чертой или каким-либо пробельным символом.
Часто используемыми разделителями являются косые черты (/
),
знаки решетки (#
) и тильды (~
). Ниже
представлены примеры шаблонов с корректными разделителями.
/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]%
Также можно использовать разделитель в виде скобок, где
стартовый и завершающий разделители являются соответственно открывающей
и закрывающей скобками. ()
,
{}
, []
и <>
являются допустимыми парами разделителей.
(this [is] a (pattern)) {this [is] a (pattern)} [this [is] a (pattern)] <this [is] a (pattern)>
Если необходимо использовать разделитель внутри шаблона, его нужно проэкранировать с помощью обратной косой черты. Если разделитель часто используется в шаблоне, в целях удобочитаемости, лучше выбрать другой разделитель для этого шаблона.
/http:\/\// #http://#
После закрывающего разделителями можно использовать модификаторы шаблонов. Ниже следует пример регистро-независимого поиска:
#[a-z]#i