При создании регулярного выражения мы можем указать дополнительных опции поиска:
  • i (ignore case). Не различать строчные и прописные буквы.
  • g (global search). Глобальный поиск всех вхождений образца.
  • m (multiline). Многострочный поиск.
  • Любые комбинации этих трех опций, например ig или gim.
Поддержка: Internet Explorer Опция "m" поддерживается с версии 5.5.

Netscape Navigator Опция "m" не поддерживается. Вместо нее используется

статическое свойство multiline объекта RegExp.
Приведем несколько примеров. Поскольку регулярные выражения различают строчные и прописные буквы, следующий сценарий
var s = "Изучаем язык JavaScript";
var re = /JAVA/;
var result = re.test(s) ? "'  " : "' не ";
document.write("Строка '" + s + result + "соответствует образцу " + re);
выведет в окно обозревателя текст: Строка 'Изучаем язык JavaScript' не соответствует образцу /JAVA/ Если мы теперь заменим вторую строку примера на var re = /JAVA/i;, то на экран будет выведен текст: Строка 'Изучаем язык JavaScript' соответствует образцу /JAVA/i Теперь рассмотрим опцию глобального поиска. Она обычно применяется методом replace при поиске образца и замены найденной подстроки на новую. Дело в том, что по умолчанию этот метод производит замену только первой найденной подстроки и возвращает полученный результат. Рассмотрим следующий сценарий:
var s = "Мы пишем сценарии на JavaScript, " +
  "но JavaScript - не единственный сценарный язык.";
var re = /JavaScript/;
document.write(s.replace(re, "VBScript"));
Он выводит в окно обозревателя текст, который явно не соответствует желаемому результату: Мы пишем сценарии на VBScript, но JavaScript - не единственный сценарный язык. Для того, чтобы все вхождения строки "JavaScript" были заменены на "VBScript", мы должны изменить значение регулярного выражения на var re = /JavaScript/g;. Тогда результирующая строка будет иметь вид: Мы пишем сценарии на VBScript, но VBScript - не единственный сценарный язык. Наконец, опция многострочного поиска позволяет проводить сопоставление с образцом строкового выражения, состоящего из нескольких строк текста, соединенных символами разрыва строки. По умолчанию, сопоставление с образцом прекращается, если найден символ разрыва строки. Данная опция преодолевает указанное ограничение и обеспечивает поиск образца по всей исходной строке. Она также влияет на интерпретацию некоторых специальных символов в регулярных выражениях, а именно:
  • Обычно символ ^ сопоставляется только с первым элементом строки. Если же опция многострочного поиска включена, то он также сопоставляется с любым элементом строки, которому предшествует символ разрыва строки.
  • Обычно символ $ сопоставляется только с последним элементом строки. Если же опция многострочного поиска включена, то он также сопоставляется с любым элементом строки, который является символом разрыва строки.