มอดิฟายเออร์ m ของ JavaScript RegExp

คำนิยามและวิธีใช้

มอดิฟายเออร์ "m" กำหนดการตรวจสอบแบบหลายบรรทัด

它只影響開頭處 ^ 和結尾處 $ 的行為。

^ 規定字符串開頭的匹配項。

$ 規定字符串末尾的匹配項。

設置 "m" 後,^$ 也匹配每行的开头和結尾。

實例

在字符串中每一行的开头,多行搜索 "is":

let text = `Is this
all there
is`
let pattern = /^is/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()