使用標誌的進階搜尋
正規表達式有四個選用的標誌,這些標誌可用於全域或不分大小寫等的搜尋。若要指明為全域搜尋,就使用 g
標誌。若要指明為區分大小寫來搜尋,就使用 i
標誌。若要指明為在多行中搜尋,就使用 m
標誌。若要進行“定點”搜尋,也就是以目標字串的目前位置為開始點來搜尋,那就使用 y
標誌。這些標誌可以單獨或不分順序混合使用,並作為正規表達式的一部分。
Firefox 3 note
Firefox 3 新增了對 y
標誌的支援。如果在目標字串的目前位置上比對不成功,y
標誌就會失敗。
要在正規表達式中包含標誌,使用以下語法︰
re = /pattern/flags re = new RegExp("pattern", ["flags"])
注意,標誌也是正規表達式整體的一部分。之後就不能新增或移除標誌。
舉例來說,re = /\w+\s/g
建立了可尋找 1 個以上的字元並且後接空白的正規表達式,並找出整個字串的組合部分。
<script type="text/javascript"> re = /\w+\s/g; str = "fee fi fo fum"; myArray = str.match(re); document.write(myArray); </script>
顯示出 ["fee ", "fi ", "fo "]。在這個範例中,你可以取代一整行︰
re = /\w+\s/g;
改用︰
re = new RegExp("\\w+\\s", "g");
得到同樣的結果。
m
標誌用來指明輸入的多行字串應該視為多行。如果使用 m
標誌,^ 和 $ 就會在輸入字串裡比對每一行的開始處和結尾處,而非整個字串的開始處和結尾處。