Разделители

При работе с функциями модуля 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://# 
Функцией preg_quote() пользуются, чтобы экранировать строку в шаблоне, а необязательный второй параметр функции разрешает задать разделитель.

После закрывающего разделителя указывают модификаторы шаблонов. Следующий пример показывает сопоставление без учёта регистра:

 #[a-z]#i 
To Top