JavaScript RegExp m 修饰符
定义和用法
"m" 修饰符规定多行匹配。
它只影响开头处 ^
和结尾处 $
的行为。
^
规定字符串开头的匹配项。
$
规定字符串末尾的匹配项。
设置 "m" 后,^
和 $
也匹配每行的开头和结尾。
提示 1
"m" 修饰符区分大小写而非全局。
如需执行全局、不区分大小写的搜索,请将 "m" 与 "g" 和 "i" 一起使用。
例子 1
在每个字符串行的开头对 "is" 进行全局多行搜索:
let text = `Is this all there is` let pattern = /^is/gm;
例子 2
在每个字符串行的开头对 "is" 进行全局、不区分大小写的多行搜索:
let text = `Is this all there is` let pattern = /^is/gmi;
例子 3
在每个字符串行的末尾对 "is" 进行全局多行搜索:
let text = `Is this all there is` let text = "Is\nthis\nhis\n?"; let pattern = /is$/gm;
提示 2
可使用 multiline 属性检查是否设置了 m
修饰符。
Check if the "m" modifier is set: let pattern = /W3S/gi; let result = pattern.multiline;
语法
new RegExp("regexp", "m")
或者简写:
/regexp/m
浏览器支持
/regexp/m
是 ECMAScript3 (ES3) 特性。
所有浏览器都支持 ES3 (JavaScript 1999):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
正则表达式搜索方法
在 JavaScript 中,正则表达式文本搜索可以用不同的方法完成。
使用模式(pattern)作为正则表达式,这些是最常用的方法:
举例 | 描述 |
---|---|
text.match(pattern) | 字符串方法 match() |
text.search(pattern) | 字符串方法 search() |
pattern.exec(text) | RexExp 方法 exec() |
pattern.test(text) | RexExp 方法 test() |