Задать вопрос

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽