Regex 正規表示法 - 修飾詞 (Flags)

Regex 引擎有一些預設的規則,例如 pattern 是區分大小寫的,但我們可以設定不同的修飾詞 (flag) 來改變這些行為。

修飾詞 flag意義說明
iignore case使用不區分大小寫的比對方式
mmultiline使用多行模式,使 ^$ 會比對每一行的開頭與結尾,而不是輸入字串的開頭和結尾
ssingleline使用單行模式,使句點 . 會比對每個字元,而不是換行符號 \n 以外的每個字元
gglobal search使用全局匹配模式。有時候你會希望重複匹配目標字串多次,使用 g flag 就可以保留 lastIndex 的狀態,讓下一次再匹配時,可以從 lastIndex 的位置開始找起,你就可以遍歷整個文本中的所有可匹配字串,而不是每一次再匹配時都得到一樣的結果 (文本中從頭開始第一個找到的字串)。另外預設上,如果沒有開啟 g flag,Regex 引擎只會返回「第一個」匹配到的字串結果