婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)

Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)

熱門標(biāo)簽:山東外呼系統(tǒng)聯(lián)系方式 哈爾濱公司外呼系統(tǒng)代理 上海銷售電銷機(jī)器人軟件 惠安地圖標(biāo)注 淄博市張店區(qū)地圖標(biāo)注 自己做的電銷機(jī)器人 浙江營(yíng)銷外呼系統(tǒng)有哪些 地圖標(biāo)注店鋪地圖標(biāo)注酒店 遼寧秒客來(lái)電話機(jī)器人
本文就是介紹在使用 Javascript 中使用 exec 進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)。
先看一下常見(jiàn)的用法:
復(fù)制代碼 代碼如下:

script type="text/javascript">
var pattern = /http:\/\/([^\/\s]+)/;
alert(pattern.exec('http://www.codebit.cn')); // http://www.codebit.cn,www.codebit.cn
alert(pattern.exec('http://YITU.org')); // http://YITU.org,YITU.org
// 也可以直接寫成 /http:\/\/([^/]+)/.exec('http://www.codebit.cn');
/script>

接下來(lái)看一下全局模式下的詭異事件:
復(fù)制代碼 代碼如下:

script type="text/javascript">
var pattern = /http:\/\/([^\/\s]+)/g; // 使用了 g 修飾符
alert(pattern.exec('http://www.codebit.cn')); // http://www.codebit.cn,www.codebit.cn
alert(pattern.exec('http://YITU.org')); // 并沒(méi)有返回期望的 http://YITU.org,YITU.org ,而是返回了 null
/script>

第二個(gè)語(yǔ)句并沒(méi)有返回期望的結(jié)果,而是返回了 null ,這是因?yàn)椋?
在全局模式下,當(dāng) exec() 找到了與表達(dá)式相匹配的文本時(shí),在匹配后,它將把正則表達(dá)式對(duì)象的 lastIndex 屬性設(shè)置為匹配文本的最后一個(gè)字符的下一個(gè)位置。這就是說(shuō),您可以通過(guò)反復(fù)調(diào)用 exec() 方法來(lái)遍歷字符串中的所有匹配文本。當(dāng) exec() 再也找不到匹配的文本時(shí),它將返回 null,并把 lastIndex 屬性重置為 0。
下面是正常的全局模式下的匹配方式:
復(fù)制代碼 代碼如下:

script type="text/javascript">
var pattern = /http:\/\/([^\/\s]+)/g;
var str = "CodeBit.cn : http://www.codebit.cn | YITU.org : http://YITU.org";
var result;
while ((result = pattern.exec(str)) != null) {
alert("Result : " + result + " LastIndex : " + pattern.lastIndex);
}
//Result : http://www.codebit.cn,www.codebit.cn LastIndex : 34
//Result : http://YITU.org,YITU.org LastIndex : 67
/script>

從上面的代碼我們可以看到,之所以出現(xiàn)第二段代碼中的問(wèn)題,影響因素是 lastIndex ,所以我們可以通過(guò)將 lastIndex 手動(dòng)置 0 的方式來(lái)解決這個(gè)問(wèn)題。
復(fù)制代碼 代碼如下:

script type="text/javascript">
var pattern = /http:\/\/([^\/\s]+)/g; // 使用了 g 修飾符
alert(pattern.exec('http://www.codebit.cn')); // http://www.codebit.cn,www.codebit.cn
pattern.lastIndex = 0;
alert(pattern.exec('http://YITU.org')); // http://YITU.org,YITU.org
/script>

總結(jié):
在全局模式下,如果在一個(gè)字符串中完成了一次模式匹配之后要開(kāi)始檢索新的字符串,就必須手動(dòng)地把 lastIndex 屬性重置為 0。
您可能感興趣的文章:
  • Javascript中正則表達(dá)式的全局匹配模式分析
  • JS中正則表達(dá)式全局匹配模式 /g用法詳解

標(biāo)簽:無(wú)錫 宣城 銅川 泰州 西安 綿陽(yáng) 長(zhǎng)沙 重慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)》,本文關(guān)鍵詞  Javascript,中,使用,exec,進(jìn)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Javascript中使用exec進(jìn)行正則表達(dá)式全局匹配時(shí)的注意事項(xiàng)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 郎溪县| 七台河市| 兴隆县| 长宁区| 宜黄县| 澄迈县| 浦县| 康平县| 漾濞| 郸城县| 宁化县| 奇台县| 遂昌县| 安宁市| 重庆市| 科尔| 吉林市| 乐安县| 乌恰县| 合肥市| 南汇区| 和硕县| 冷水江市| 曲松县| 青冈县| 长垣县| 内黄县| 黑山县| 惠来县| 呼玛县| 固始县| 响水县| 陆丰市| 芒康县| 洛浦县| 仁寿县| 蒲城县| 三台县| 常山县| 潜江市| 清水河县|