标記也稱為修飾符,正規表達式的标記用于指定額外的比對政策。
标記不寫在正規表達式裡,标記位于表達式之外,格式如下:
/pattern/flags
下表列出了正規表達式常用的修飾符:
修飾符 | 含義 | 描述 |
---|---|---|
i | ignore - 不區分大小寫 | 将比對設定為不區分大小寫,搜尋時不區分大小寫: A 和 a 沒有差別。 |
g | global - 全局比對 | 查找所有的比對項。 |
m | multi line - 多行比對 | 使邊界字元 ^ 和 $ 比對每一行的開頭和結尾,記住是多行,而不是整個字元串的開頭和結尾。 |
s | 特殊字元圓點 . 中包含換行符 \n | 預設情況下的圓點 . 是 比對除換行符 \n 之外的任何字元,加上 s 修飾符之後, . 中包含換行符 \n。 |
g 修飾符
g 修飾符可以查找字元串中所有的比對項:

執行個體
在字元串中查找 "runoob":
var str="Google runoob taobao runoob";
var n1=str.match(/runoob/); // 查找第一次比對項
var n2=str.match(/runoob/g); // 查找所有比對項
i 修飾符
i 修飾符為不區分大小寫比對,執行個體如下:
var str="Google runoob taobao RUNoob";
var n1=str.match(/runoob/g); // 區分大小寫
var n2=str.match(/runoob/gi); // 不區分大小寫
m 修飾符
m 修飾符可以使 ^ 和 $ 比對一段文本中每行的開始和結束位置。
g 隻比對第一行,添加 m 之後實作多行。
以下執行個體字元串中使用 \n 來換行:
var str="runoobgoogle\ntaobao\nrunoobweibo";
var n1=str.match(/^runoob/g); // 比對一個
var n2=str.match(/^runoob/gm); // 多行比對
s 修飾符
預設情況下的圓點 . 是 比對除換行符 \n 之外的任何字元,加上 s 之後, . 中包含換行符 \n。
s 修飾符執行個體如下:
在字元串中查找:
var str="google\nrunoob\ntaobao";
var n1=str.match(/google./); // 沒有使用 s,無法比對\n
var n2=str.match(/runoob./s); // 使用 s,比對\n