正则表达式 multiline 属性

返回 Boolean 值,指出正则表达式使用的 multiline 标志(m)的状态。默认值为 false。只读。

rgExp.multiline

必选项 rgExp 参数为 RegExp 对象。

说明

如果正则表达式设置了 multiline 标志,那么 multiline 属性返回 true,否则返回 false。如果创建正则表达式对象时使用了 m 标志,那么 multiline 属性就是 true

如果 multilinefalse,那么 "^" 匹配字符串的开始位置,而 "$" 匹配字符串的结束位置。如果 multlinetrue,那么 "^" 匹配字符串开始位置以及 "/n" 或 "/r" 之后的位置,而 "$" 匹配字符串结束位置以及 "/n" 或 "/r" 之前的位置。

示例

以下示例演示了 multiline 属性的特征。如果将 "m" 传递给下面所示的函数,单词 "while" 将被替换为 "and"。这是因为设置了 multiline 标志且 "while" 出现在换行字符的下一行的开始位置。multiline 标志允许在多行的字符串中进行查找。

本函数返回一个字符串以及一个表,表中显示了允许使用的正则表达式标志(gim)的状态。它还返回经过所有替换操作的字符串。

function RegExpPropDemo(flag){
   if (flag.match(/[^gim]/))          //检查标志的有效性。
     return("Flag specified is not valid");
   var r, re, s                       //声明变量。
   var ss = "The man hit the ball with the bat.";
   ss += "/nwhile the fielder caught the ball with the glove.";
   re = new RegExp("^while",flag);    //指定要查找的样式。
   r = ss.replace(re, "and");         // "a" 替换 "the"   s = "Regular Expression property values:/n/n"
   s += "global  ignoreCase  multiline/n"
   if (re.global)                     //测试 global 标志。
     s += " True     ";
   else
     s += "False     ";
   if (re.ignoreCase)                 //测试 ignoreCase 标志。
     s += " True  ";
   else
     s += "False  ";
   if (re.multiline)                  //测试 multiline 标志。
     s += "     True     ";
   else
     s += "     False   ";
   s += "/n/nThe resulting string is:/n/n" + r;
   return(s);                         //返回替换的字符串。
}

要求

版本 5.5

请参阅

global 属性 | ignoreCase 属性 | 正则表达式语法

应用于:RegExp 对象

 

你可能感兴趣的:(正则应用)