Для настройки событий Шаблон или Deeplink при необходимости можно указывать флаги регулярных выражений.
Если этот флаг есть, то regexp ищет независимо от регистра, не различает между A и a.
Это значит, что если задан флаг i, то значение, из-за которого срабатывает шаблон, можно будет писать как с маленькой, так и с большой буквы.
Например, если Шаблон срабатывает на слово Привет, то с флагом i, он будет срабатывать в таких вариантах: Привет, привет, ПрИвЕт и т.д.
Флаг g называется глобальным или global. Он включает поиск всех сопоставлений в строке и не останавливает поиск после первого совпадения. Если этот флаг есть, то regexp ищет все совпадения, иначе — только первое.
Например, есть регулярное выражение /aa/ и строка aa aa aa.
Регулярному выражению соответствует только одна подстрока в этой строке, хотя на самом деле мы видим, что их должно быть три. Это происходит потому, что по умолчанию регулярные выражения ищут только первое соответствие.
Если добавить его в наше регулярное выражение флаг g, то сопоставятся все подстроки aa.
Посмотреть пример использования можно тут.
Многострочный режим включается флагом m.
Он влияет только на поведение ^ и $. В многострочном режиме они означают не только начало/конец текста, но и начало/конец каждой строки в тексте.
Например, есть текст:
1е место: Винни 2е место: Пятачок 3е место: Слонопотам
И регулярное выражение ^\d с флагом g (поиск цифры в начале текста).
Без флага m оно вернет только единицу. Но если добавить флаг m, то поиск цифры будет вестись в каждой строке текста из-за чего мы в ответе получим 1, 2, 3.
Посмотреть пример можно тут.
Символ доллара $ ведёт себя аналогично. Регулярное выражение \d$ ищет последнюю цифру в каждой строке.
Например, есть такой текст:
Винни: 1 Пятачок: 2 Слонопотам: 3
Без флага m якорь $ обозначал бы конец всей строки, и была бы найдена только последняя цифра.
Посмотреть пример можно тут.
В начало ↑