В чём суть флагов s и m в регулярных выражениях?

Возьмём для примера регулярку на одну букву n без флагов /n/g https://regex101.com/r/3nEjdB/1 в результате он видит буквы n и в первой и во второй строке.
В чём смысл тогда если я поставлю s - single line ничего не изменится как и m - multiline, ведь он уже сейчас без m воспринимает строку как многострочную.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
AlexMaxTM
@AlexMaxTM
m изменяет поведение якорей (^ и $), а s изменяет поведение точки (.)
В вашем регулярном выражении не используются (.) , (^) и ($) потому вы не видите разницы при добавлении m и s
Ответ написан
DevMan
@DevMan
Оптимус Пьян, по дефолту точка не матчит перенос строки. а при флаге s будет матчить.

php.net/manual/ru/reference.pcre.pattern.modifiers.php
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы