js正則表達(dá)式之RegExp對(duì)象之compile方法 編譯正則表達(dá)式
更新時(shí)間:2012年10月12日 11:39:35 作者:
該方法可以編譯指定的正則表達(dá)式,編譯之后的正則表達(dá)式執(zhí)行速度將會(huì)提高,如果正則表達(dá)式多次被調(diào)用,那么調(diào)用compile方法可以有效的提高代碼的執(zhí)行速度,如果該正則表達(dá)式只能被使用一次,則不會(huì)有明顯的效果
功能說(shuō)明:該方法可以編譯指定的正則表達(dá)式,編譯之后的正則表達(dá)式執(zhí)行速度將會(huì)提高,如果正則表達(dá)式多次被調(diào)用,那么調(diào)用compile方法可以有效的提高代碼的執(zhí)行速度,如果該正則表達(dá)式只能被使用一次,則不會(huì)有明顯的效果。
基本語(yǔ)法:objReg.compile(pattern[,flag])
objReg必選項(xiàng),RegExp對(duì)象變量的名稱
pattern 必選項(xiàng) 正則表達(dá)式
flag 可選項(xiàng) 匹配選項(xiàng)
<html>
<script language="javascript" type="text/javascript">
//要匹配的字符串
var objStr="我的手機(jī)號(hào)13522222222,他的手機(jī)號(hào)碼13233333333她的手機(jī)號(hào)碼13988888888";
//設(shè)置正則表達(dá)式匹配以13開(kāi)頭的11為手機(jī)號(hào)碼,全局匹配(這里是匹配移動(dòng)手機(jī)號(hào))
var reg=new RegExp("13[4-9](//d){8}","g");
//提示用戶發(fā)現(xiàn)移動(dòng)號(hào)碼,然后打印出結(jié)果
document.write("發(fā)現(xiàn)移動(dòng)手機(jī)號(hào)碼");
//調(diào)用函數(shù)打印匹配的結(jié)果
findPhoneNumbers(objStr.match(reg));
//重新編譯正則表達(dá)式
reg.compile("13[0-3](//d){8}","g");
document.write("發(fā)現(xiàn)聯(lián)通手機(jī)號(hào)碼");
findPhoneNumbers(objStr.match(reg));
//定義輸出返回結(jié)果函數(shù)
function findPhoneNumbers(arr){
//使用循環(huán)輸出數(shù)據(jù)
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]+"<br>");
}
}
</script>
</html>
使用compile方法還可以對(duì)指定的正則表達(dá)式進(jìn)行修改并且重新編譯,提高了正則表達(dá)式的適應(yīng)性!
基本語(yǔ)法:objReg.compile(pattern[,flag])
objReg必選項(xiàng),RegExp對(duì)象變量的名稱
pattern 必選項(xiàng) 正則表達(dá)式
flag 可選項(xiàng) 匹配選項(xiàng)
復(fù)制代碼 代碼如下:
<html>
<script language="javascript" type="text/javascript">
//要匹配的字符串
var objStr="我的手機(jī)號(hào)13522222222,他的手機(jī)號(hào)碼13233333333她的手機(jī)號(hào)碼13988888888";
//設(shè)置正則表達(dá)式匹配以13開(kāi)頭的11為手機(jī)號(hào)碼,全局匹配(這里是匹配移動(dòng)手機(jī)號(hào))
var reg=new RegExp("13[4-9](//d){8}","g");
//提示用戶發(fā)現(xiàn)移動(dòng)號(hào)碼,然后打印出結(jié)果
document.write("發(fā)現(xiàn)移動(dòng)手機(jī)號(hào)碼");
//調(diào)用函數(shù)打印匹配的結(jié)果
findPhoneNumbers(objStr.match(reg));
//重新編譯正則表達(dá)式
reg.compile("13[0-3](//d){8}","g");
document.write("發(fā)現(xiàn)聯(lián)通手機(jī)號(hào)碼");
findPhoneNumbers(objStr.match(reg));
//定義輸出返回結(jié)果函數(shù)
function findPhoneNumbers(arr){
//使用循環(huán)輸出數(shù)據(jù)
for(var i=0;i<arr.length;i++){
document.write("<li>"+arr[i]+"<br>");
}
}
</script>
</html>
使用compile方法還可以對(duì)指定的正則表達(dá)式進(jìn)行修改并且重新編譯,提高了正則表達(dá)式的適應(yīng)性!
相關(guān)文章
關(guān)于內(nèi)容的分離,正則抽出圖片(一定要加精哦)
我們?cè)诩觾?nèi)容時(shí),無(wú)論你怎么樣排版都好,我們都是無(wú)法將里面的圖片或是別的什么東西抽出來(lái)的.2009-01-01正則表達(dá)式實(shí)現(xiàn)最小匹配功能的方法
這篇文章主要介紹了正則表達(dá)式實(shí)現(xiàn)最小匹配功能的方法,結(jié)合具體實(shí)例形式分析了正則表達(dá)式最小匹配功能的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02javascript中10個(gè)正則表達(dá)式使用介紹基礎(chǔ)篇
本文通過(guò)舉例簡(jiǎn)單的介紹了正則表達(dá)式的一些使用方法,能夠助力你快速入門正則表達(dá)式,希望這篇正則總結(jié)方法能對(duì)你有用2020-02-02