溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

js正則表達(dá)式exec方法的介紹

發(fā)布時(shí)間:2021-09-01 17:12:15 來(lái)源:億速云 閱讀:164 作者:chen 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“js正則表達(dá)式exec方法的介紹”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“js正則表達(dá)式exec方法的介紹”吧!

功能說(shuō)明:該函數(shù)通過(guò)對(duì)指定你的字符串進(jìn)行一次匹配檢測(cè),獲取字符串中的第一個(gè)與正則表達(dá)式的內(nèi)容,并且將匹配的內(nèi)容和子匹配的結(jié)果存放在返回?cái)?shù)組中

基本方法:objReg.exec(string)

objReg,RegExp對(duì)象的名稱(chēng)

string,要進(jìn)行匹配的字符串

正則表達(dá)式exec()函數(shù):

exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。
返回值是一個(gè)數(shù)組,但是此數(shù)組的內(nèi)容和正則對(duì)象是否是全局匹配有著很大關(guān)系:

1.沒(méi)有g(shù)修飾符:
在非全局匹配模式下,此函數(shù)的作用和match()函數(shù)是一樣的,只能夠在字符串中匹配一次,如果沒(méi)有找到匹配的字符串,那么返回null,否則將返回一個(gè)數(shù)組,數(shù)組的第0個(gè)元素存儲(chǔ)的是匹配字符串,第1個(gè)元素存放的是第一個(gè)引用型分組(子表達(dá)式)匹配的字符串,第2個(gè)元素存放的是第二個(gè)引用型分組(子表達(dá)式)匹配的字符串,依次類(lèi)推。同時(shí)此數(shù)組還包括兩個(gè)對(duì)象屬性,index屬性聲明的是匹配字符串的起始字符在要匹配的完整字符串中的位置,input屬性聲明的是對(duì)要匹配的完整字符串的引用。
特別說(shuō)明:
在非全局匹配模式下,IE瀏覽器還會(huì)具有l(wèi)astIndex屬性,不過(guò)這時(shí)是只讀的。

2.具有g(shù)修飾符:
在全局匹配模式下,此函數(shù)返回值同樣是一個(gè)數(shù)組,并且也只能夠在字符串中匹配一次。不過(guò)此時(shí),此函數(shù)一般會(huì)和lastIndex屬性匹配使用,此函數(shù)會(huì)在lastIndex屬性指定的字符處開(kāi)始檢索字符串,當(dāng)exec()找到與表達(dá)式相匹配的字符串時(shí),在匹配后,它將lastIndex 屬性設(shè)置為匹配字符串的最后一個(gè)字符的下一個(gè)位置??梢酝ㄟ^(guò)反復(fù)調(diào)用exec()函數(shù)遍歷字符串中的所有匹配,當(dāng)exec()函數(shù)再也找不到匹配的文本時(shí),它將返回null,并把lastIndex 屬性重置為0。
數(shù)組的內(nèi)容結(jié)構(gòu)和沒(méi)有g(shù)修飾符時(shí)完全相同。

特別說(shuō)明:

如果在一個(gè)字符串中完成了一次模式匹配之后要開(kāi)始檢索新的字符串,就必須手動(dòng)地把lastIndex屬性重置為0。
語(yǔ)法結(jié)構(gòu):

RegExpObject.exec(string)

參數(shù)列表如下:

參數(shù)名稱(chēng)語(yǔ)義解釋
string必需。要檢索的字符串。

瀏覽器支持:

IE瀏覽器支持此方法。
火狐瀏覽器支持此方法。
谷歌瀏覽器支持此方法。

實(shí)例代碼:

實(shí)例一:

var str="I love antzone ,this is animate"; 
var reg=/an/;
console.log(reg.exec(str));

實(shí)例二:

var str="the name 123 and 456"; 
var reg=/\d/g;
reg.lastIndex=15;
console.log(reg.exec(str));

在全局模式下可以使用lastIndex屬性設(shè)置在字符串中查找指定字符時(shí)開(kāi)始的位置。

<html> 
<script language="javascript" type="text/javascript"> 
//設(shè)置匹配的字符串 
var objStr="我的手機(jī)號(hào)13522222222,他的手機(jī)號(hào)13288888888,她的手機(jī)號(hào)碼13699999999"; 
//設(shè)置正則表達(dá)式,匹配以13開(kāi)頭11位字符串,全局匹配 
var reg=/13(/d)(/d{8})/g; 
//執(zhí)行exec函數(shù),盡管是全局匹配的正則表達(dá)式,但是exec方法只對(duì)指定的字符串進(jìn)行一次匹配,獲取字符串中第一個(gè)與正則表達(dá)式想匹配的內(nèi)容,并且將匹配內(nèi)容和子匹配的結(jié)果存儲(chǔ)到返回的數(shù)組中 
var arr=reg.exec(objStr); 
//循環(huán)輸出結(jié)果 
for(var i=0;i<arr.length;i++){ 
document.write("<li>"+arr[i]+"<br>"); 
} 
</script> 
</html>

感謝各位的閱讀,以上就是“js正則表達(dá)式exec方法的介紹”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)js正則表達(dá)式exec方法的介紹這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI