使用標誌的進階搜尋

使用標誌的進階搜尋

正規表達式有四個選用的標誌,這些標誌可用於全域或不分大小寫等的搜尋。若要指明為全域搜尋,就使用 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 標誌,^ 和 $ 就會在輸入字串裡比對每一行的開始處和結尾處,而非整個字串的開始處和結尾處。

 

 

Document Tags and Contributors

Contributors to this page: happysadman
最近更新: happysadman,