Модификаторы в регулярных выражениях

Модификаторы в регулярных выражениях используются для задания дополнительных правил поиска. Они размещаются после закрывающегося разделителя регулярного выражения. Модификаторов может быть любое количество. Обычно они не разделяются никакими знаками, а идут подряд. Но также допускается разделение пробелом или переводом строки - остальные символы будут вызывать ошибки.

Модификатор Описание
i Производит поиск без учета регистра символов
m Позволяет обрабатывать данные как многострочный текст. По умолчанию функция обрабатывает данные как одну строку, пропуская символы разделения строк. Данный модификатор обычно используется, если существует необходимость поиска в начале или конце строки, используя метасимволы ^ или $. Если шаблон не содержит этих символов, либо текст не содержит символов перевода строки, использовать данный модификатор не имеет смысла
s Позволяет использовать метасимвол "точка" (.) как все символы, в т.ч. символ перевода строки. Без указания данного модификатора точка будет соответствовать всем символам за исключением перевода строки
x Игнорирует неэкранированные пробелы, символы табуляции и пустые строки. Обычно используется для добавления комментария (#) к сложным шаблонам
A Проверяет совпадение с шаблоном только в начале строки
D Метасимвол $ соответствует только окончанию обрабатываемых данных. Без данного модификатора $ соответствует также позиции перед последним символом
S Производит дополнительный анализ шаблона для уменьшения времени его выполнения
U Инвентирует жадность квантификаторов. Т.е. по умолчанию они становятся не жадными, если за ними не следует вопросительный знак (?)
X Включает дополнительную фукнциональность: любой обратный слэш с символом, не имеющий специального значения, будет приводить к ошибке. Подобные комбинации зарезервированы для дальнейшего развития
?J Позволяет подшаблонам иметь одинаковые имена (с версии PHP 7.2)
u Позволяет обрабатывать строки в UTF-8
20.08.2019