下面小編就為大家帶來一篇利用JavaScript實作模式匹配的String方法。現在就分享給大家,也給大家做個參考。
用於模式匹配的String方法:
#String支援4種使用正規表示式的方法:
seach()用於檢索,參數是一個正規表示式,傳回第一個與之匹配的子字串的位置,找不到則傳回-1,如果參數不是正則表達式,則首先會透過RexExp建構函式將它轉換成正規表示式,seach()方法不支援全域搜索,它忽略修飾符g;
replace()用於檢索與取代運算,第一個參數是一個正規表示式,第二個參數是要進行替換的字串。它對呼叫此方法的字串檢索,依照模式比對子字串替換成第二個參數,若包含修飾符g則全文符合。若第一個參數不是正規表示式而是字串,則直接搜尋替換掉這個字串;
text.replace(/javascript/gi,'JavaScript')表示在text全文中搜尋不區分大小寫的javascript替換成JavaScript
如果用來替換的字串中出現($加數字),則replace()方法將用與$加數字指代的子表達式匹配的文本來替換,如:
var quote = /"([^"]*)"/g
text.replace(quote,'“$1”'); 全文搜尋與/"([^ "]*)"/匹配的字串,替換為“$1”(表示只改變兩邊的雙引號為中文半角,而存儲在$1中的內容不變)$1存儲了指代與第一個左圓括號內的子運算式符合的字串;
match() 唯一的參數是正規表示式,而傳回的則是由符合結果組成的陣列,如果參數不是正規表示式,則會先通過RexExp建構子將它轉換成正規表示式;
(二)如果這個正規表示式帶修飾符g,match()傳回的陣列元素是符合全文所得到的所有字串;
(二)如果這個正規表示式不帶修飾符g,match()只檢索第一個匹配,但他也返回一個數組(數組的第一個元素是匹配的整個字串,接下來的元素是表達式中所有用圓括號括起來的子表達式匹配到的字串,每個元素對應一個括號)
如:
var url = /(\w*):\/\/([\w.]+)\/(\S*)/; var text = 'http://www.w3school.com.cn/jsref'; var result = text.match(url); if(result != null) { var fullurl = result[0]; var protocol =result[1]; var host = result[2]; var path = result[3]; }
split()將字串按參數指定的分隔符號拆分為由多個子字串組成的數組,如:
'123,345,789'.split(','); //回傳['123','345','789']
'1, 2 , 3, 4 ,5 , 6'.split(/\s*,\s*/); //返回['1','2','3','4 ','5','6']
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
以上是利用JavaScript實作模式匹配的String方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!