本文為 H5EDU 機構官方 HTML5培訓 教程,主要介紹:JavaScript強化教程 —-RegExp 物件
RegExp 物件用於規定在文本中檢索的內容。
什麼是 RegExp?
RegExp 是正規表示式的縮寫。
當您檢索某個文字時,可以使用模式來描述要檢索的內容。 RegExp 就是這種模式。
簡單的模式可以是一個單獨的字元。
更複雜的模式包括了更多的字符,並可用於解析、格式檢查、替換等等。
您可以規定字串中的檢索位置,以及要檢索的字元類型,等等。
定義 RegExp
RegExp 物件用於儲存擷取模式。
透過 new 關鍵字來定義 RegExp 物件。以下程式碼定義了名為patt1 的RegExp 對象,其模式是"e":var patt1=new RegExp("e");當您使用該RegExp 物件在一個字串中檢索時,將尋找的是字元"e "。
RegExp 物件的方法
RegExp 物件有 3 個方法:test()、exec() 以及 compile()。
test()
test() 方法會擷取字串中的指定值。傳回值是 true 或 false。
範例:var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free"));由於該字串中存在字母"e",以上程式碼的輸出將是:true
exec()
exec() 方法會擷取字串中的指定值。傳回值是被找到的值。如果沒有發現匹配,則傳回 null。
範例1:var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free"));由於該字串中存在字母"e",以上程式碼的輸出將是:e
範例2:
您可以為RegExp 物件新增第二個參數,以設定檢索。例如,如果需要找到所有某個字元的所有存在,則可以使用 "g" 參數 ("global")。
如需關於如何修改搜尋模式的完整信息,請訪問我們的 RegExp 物件參考手冊。
在使用"g" 參數時,exec() 的工作原理如下:
找到第一個"e",並儲存其位置
如果再次運行exec(),則從儲存的位置開始檢索,並找到下一個"e",並儲存其位置var patt1=new RegExp("e","g"); do { result=patt1.exec("The best things in life are free"); document.write(result) ; } while (result!=null)由於這個字串中6 個"e" 字母,程式碼的輸出將是:eeeeeenull
compile()
compile() 方法用來改變RegExp。
compile() 既可以改變檢索模式,也可以新增或刪除第二個參數。
範例:var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); patt1.compile("d"); document.write(patt1. test("The best things in life are free"));由於字串中存在"e",而沒有"d",以上程式碼的輸出是:truefalse