Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

RegExp flags

Флаги меняют поведение поиска: g — все совпадения, i — без учёта регистра и другие.

Доступно с: ES3

Синтаксис

/pattern/gimsuyd

Примеры

Флаг g — все совпадения, без него — только первое:

console.log('a-b-c'.replace(/-/, '+'));
console.log('a-b-c'.replace(/-/g, '+'));

Результат:

a+b-c
a+b+c

Флаг i — без учёта регистра:

console.log(/hello/i.test('HELLO there'));

Результат:

true

Флаг m — ^ и $ работают для каждой строки текста:

const text = 'one\ntwo\nthree';
 
console.log(text.match(/^\w+$/gm).join(','));

Результат:

one,two,three

Флаг s — точка совпадает и с переводом строки:

console.log(/a.b/.test('a\nb'), /a.b/s.test('a\nb'));

Результат:

false true

Примечания

Остальные флаги: u — правильная работа с Юникодом и эмодзи, y — поиск строго с позиции lastIndex, d — позиции групп в результате, v — расширенный режим Юникода. Флаги регулярного выражения возвращает свойство regex.flags.

См. также

  • RegExp — Регулярное выражение — шаблон для поиска и замены текста.
  • String.prototype.matchAll — Возвращает все совпадения вместе с группами.
  • String.prototype.replace — Заменяет первое совпадение (или все — с флагом g у регулярного выражения).

В учебнике

  • Регулярные выражения — Регулярные выражения в JavaScript для начинающих: шаблоны, флаги, классы символов, проверка, поиск и замена текста.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.