Свойство multiline
Возвращает логическое значение, указывающее состояние флага "multiline" (m), используемого с регулярным выражением.
rgExp.multiline
Аргументы
- rgExp
Обязательный. Экземпляр объекта Regular Expression.
Заметки
Свойство multiline предназначено только для чтения, оно возвращает значение true, если флаг "multiline" установлен для регулярного выражения, и значение false, если этот флаг не установлен. Свойство multiline равно значению true, если объект регулярного выражения создан с флагом m. Значение по умолчанию — false.
Если свойство multiline равно значению false, "^" соответствует позиции в начале строки, а "$" соответствует позиции в конце строки. Если свойство multiline равно значению true, "^" соответствует позиции в начале строки, а также позициям, следующим за символом "\n" или "\r", а "$" соответствует позиции в конце строки и позиции, предшествующей символу "\n" или "\r".
Пример
В следующем примере демонстрируется поведение свойства multiline. Если в показанной ниже функции передать значение m, то слово "while" будет заменено на слово "and". Это объясняется тем, что задан флаг multiline, а слово "while" встречается в начале строки после символа новой строки. Флаг multiline позволяет вести поиск в многострочных строках.
function RegExpMultilineDemo(flag){
// The flag parameter is a string that contains
// g, i, or m. The flags can be combined.
// Check flags for validity.
if (flag.match(/[^gim]/))
{
return ("Flag specified is not valid");
}
// Create the string on which to perform the replacement.
var ss = "The man hit the ball with the bat ";
ss += "\nwhile the fielder caught the ball with the glove.";
// Replace "while" with "and".
var re = new RegExp("^while", flag);
var r = ss.replace(re, "and");
// Output the multiline flag and the resulting string.
var s = "";
s += "Result for multiline = " + re.multiline.toString();
s += ": " + r;
return(s);
}
print (RegExpMultilineDemo("m"));
print (RegExpMultilineDemo(""));