天天看點

正規表達式 - 修飾符(标記)

标記也稱為修飾符,正規表達式的标記用于指定額外的比對政策。

标記不寫在正規表達式裡,标記位于表達式之外,格式如下:

/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

上一篇: 組合模式
下一篇: 疊代器模式