Модификаторы PCRE
Posted in: Именованные шаблоны, By: admin, At: Сентябрь 15th, 2008
Ранее говорилось, что вам нужно указывать разделители для PCRE. Если это вызывает удивление, то вот объяснение: в PCRE введена концепция “модификаторов”, ко* торые могут быть добавлены к регулярному выражению для изменения поведения компилятора и/или интерпретатора регулярных выражений. Модификатор всегда добавляется в конец выражения, сразу после разделителя. Например, в следующем регулярном выражении:
/test/i
последнее i — это модификатор.
Существует множество различных модификаторов. Вероятно, наиболее часто используемым является i, который заставляет обрабатывать регулярное выражение независимо от регистра. Рассмотрим пример, как это работает.
$s = ‘Сегодня отличный день’;
echo [pregjnatch (’/ОТличНьЛ/i’, $s) ? ‘СОВПАДАЕТ’ : ‘НЕ СОВПАДАЕТ’) . “\п”;
?>
Если выполнить этот сценарий, то он выведет слово СОВПАДАЕТ, означающее, что сравнение прошло успешно, так как модификатор i инициирует сравнение без учета регистра.
Другой часго используемый и чрезвычайно мощный модификатор — это е, который, будучи примененным в сочетании с 1, вынуждает компилятор регулярных выражений интерпретировать параметр replacement не как простую строку, а как РНР-выражеиие, которое выполняется и его результат используется в качестве строки замены.
Н)тже показан пример, который демонстрирует, насколько мощный этот модификатор.
Leave a Reply