При работе с функциями модуля 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