正則表示式 – 修飾符(標記)

正則表示式 - 修飾符(標記)

標記也稱為修飾符,正則表示式的標記用於指定額外的匹配策略。

標記不寫在正則表示式裡,標記位於表示式之外,格式如下:

/pattern/flags

下表列出了正則表示式常用的修飾符:

修飾符含義描述
iignore - 不區分大小寫將匹配設定為不區分大小寫,搜尋時不區分大小寫: A 和 a 沒有區別。
gglobal - 全域性匹配 查詢所有的匹配項。
mmulti line - 多行匹配使邊界字元 ^$ 匹配每一行的開頭和結尾,記住是多行,而不是整個字串的開頭和結尾。
s特殊字元圓點 . 中包含換行符 \n預設情況下的圓點 . 是 匹配除換行符 \n 之外的任何字元,加上 s 修飾符之後, . 中包含換行符 \n。

g 修飾符

g 修飾符可以查詢字串中所有的匹配項:

例項

在字串中查詢 "itread01":

var str="Google itread01 taobao itread01"; var n1=str.match(/itread01/); // 查詢第一次匹配項 var n2=str.match(/itread01/g); // 查詢所有匹配項

嘗試一下 ?

i 修飾符

i 修飾符為不區分大小寫匹配,例項如下:

例項

在字串中查詢 "itread01":

var str="Google itread01 taobao itread01"; var n1=str.match(/itread01/g); // 區分大小寫 var n2=str.match(/itread01/gi); // 不區分大小寫

嘗試一下 ?

m 修飾符

m 修飾符可以使 ^$ 匹配一段文字中每行的開始和結束位置。

g 只匹配第一行,新增 m 之後實現多行。

以下例項字串中使用 \n 來換行:

例項

在字串中查詢 "itread01":

var str="itread01google\ntaobao\nitread01weibo"; var n1=str.match(/^itread01/g); // 匹配一個 var n2=str.match(/^itread01/gm); // 多行匹配

嘗試一下 ?

s 修飾符

預設情況下的圓點 . 是 匹配除換行符 \n 之外的任何字元,加上 s 之後, . 中包含換行符 \n

s 修飾符例項如下:

例項

在字串中查詢:

var str="google\nitread01\ntaobao"; var n1=str.match(/google./); // 沒有使用 s,無法匹配\n var n2=str.match(/itread01./s); // 使用 s,匹配\n

嘗試一下 ?