--- title: 使用標誌的進階搜尋 slug: >- conflicting/Web/JavaScript/Guide/Regular_Expressions_38b32725e0e3217a5542b1b4ee122407 translation_of: Web/JavaScript/Guide/Regular_Expressions translation_of_original: >- Web/JavaScript/Guide/Obsolete_Pages/Working_with_Regular_Expressions/Advanced_Searching_With_Flags original_slug: Web/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/正規表達式的運用/使用標誌的進階搜尋 ---

使用標誌的進階搜尋

正規表達式有四個選用的標誌,這些標誌可用於全域或不分大小寫等的搜尋。若要指明為全域搜尋,就使用 g 標誌。若要指明為區分大小寫來搜尋,就使用 i 標誌。若要指明為在多行中搜尋,就使用 m 標誌。若要進行“定點”搜尋,也就是以目標字串的目前位置為開始點來搜尋,那就使用 y 標誌。這些標誌可以單獨或不分順序混合使用,並作為正規表達式的一部分。

{{ Fx_minversion_note(3, "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>

顯示出 {{ mediawiki.external('\"fee \", \"fi \", \"fo \"') }}。在這個範例中,你可以取代一整行︰

re = /\w+\s/g;

改用︰

re = new RegExp("\\w+\\s", "g");

得到同樣的結果。

m 標誌用來指明輸入的多行字串應該視為多行。如果使用 m 標誌,^ 和 $ 就會在輸入字串裡比對每一行的開始處和結尾處,而非整個字串的開始處和結尾處。

{{ PreviousNext("Core_JavaScript_1.5_教學:正規表達式的運用:括弧子字串的比對結果的運用", "Core_JavaScript_1.5_教學:正規表達式的運用:正規表達式的範例") }}

 

 

{{ languages( { "en": "en/Core_JavaScript_1.5_Guide/Working_with_Regular_Expressions/Advanced_Searching_With_Flags", "es": "es/Gu\u00eda_JavaScript_1.5/Trabajar_con_expresiones_regulares/Ejecutar_una_busqueda_global,_discriminar_mayusculas_y_minusculas_y_considerar_entrada_multil\u00ednea", "fr": "fr/Guide_JavaScript_1.5/Travailler_avec_les_expressions_rationnelles/Ex\u00e9cution_de_recherches_globales,_ignorer_la_casse,_utilisation_de_cha\u00eenes_multilignes", "ja": "ja/Core_JavaScript_1.5_Guide/Working_with_Regular_Expressions/Advanced_Searching_With_Flags", "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Praca_z_wyra\u017ceniami_regularnymi/Globalne_wyszukiwanie,_wielko\u015b\u0107_znak\u00f3w,_wieloliniowe_wej\u015bcie" } ) }}