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