匹配任意字符的正則表達(dá)式寫法
更新時(shí)間:2010年04月29日 23:09:46 作者:
今天在寫一個(gè)小應(yīng)用的時(shí)候遇到個(gè)問題,原本是想捕捉到頁面中所有電驢地址,以便迅雷抓取。
實(shí)現(xiàn)代碼如下,起初測試正常(后來遇到問題),先來看最初的代碼
var docs = document.body.innerHTML;
var links =docs.match(/ed2k.*\|\//gi);//注意這里 使用了點(diǎn)(.)符號匹配任意字符
document.body.innerHTML = "";
for( var link in links){<BR>
document.body.innerHTML += links[link]+"<br/>"
}
以上代碼起初一切正常,在接下來的測試中發(fā)現(xiàn),如果電驢地址中存在全角字符時(shí)就匹配就會失敗。遂改用如下寫法
var docs = document.body.innerHTML;
var links =docs.match(/ed2k[\s\S]*?\|\//gi);//注意這里[\s\S]
document.body.innerHTML = "";
for( var link in links){
document.body.innerHTML += links[link]+"<br/>"
}
結(jié)論,點(diǎn)(.)符號在匹配任意字符時(shí)還是有局限性,具體規(guī)則不詳,暫且可用[\s\S]代之,同理[\d\D]或[\w\W]亦可。
復(fù)制代碼 代碼如下:
var docs = document.body.innerHTML;
var links =docs.match(/ed2k.*\|\//gi);//注意這里 使用了點(diǎn)(.)符號匹配任意字符
document.body.innerHTML = "";
for( var link in links){<BR>
document.body.innerHTML += links[link]+"<br/>"
}
以上代碼起初一切正常,在接下來的測試中發(fā)現(xiàn),如果電驢地址中存在全角字符時(shí)就匹配就會失敗。遂改用如下寫法
復(fù)制代碼 代碼如下:
var docs = document.body.innerHTML;
var links =docs.match(/ed2k[\s\S]*?\|\//gi);//注意這里[\s\S]
document.body.innerHTML = "";
for( var link in links){
document.body.innerHTML += links[link]+"<br/>"
}
結(jié)論,點(diǎn)(.)符號在匹配任意字符時(shí)還是有局限性,具體規(guī)則不詳,暫且可用[\s\S]代之,同理[\d\D]或[\w\W]亦可。
您可能感興趣的文章:
- 正則表達(dá)式匹配任意字符(包括換行符)的寫法
- 正則表達(dá)式匹配不包含某些字符串的技巧
- 匹配yyyy-mm-dd日期格式的的正則表達(dá)式
- 匹配中文漢字的正則表達(dá)式介紹
- 正則表達(dá)式 匹配至少有一個(gè)非空白字符并且不超過指定長度
- js 正則表達(dá)式學(xué)習(xí)筆記之匹配字符串
- 正則表達(dá)式匹配 非XXX的行
- PHP匹配多行的正則表達(dá)式分析
- js正則表達(dá)式匹配數(shù)字字母下劃線等
- php用正則表達(dá)式匹配URL的簡單方法
- php正則表達(dá)式匹配img中任意屬性的方法
- 正則表達(dá)式實(shí)現(xiàn)最小匹配功能的方法
相關(guān)文章
echarts圖表設(shè)置寬度100%結(jié)果為100px的解決辦法
在開發(fā)一個(gè)前端項(xiàng)目時(shí)需要用到Element-ui的el-tabs組件和Echart開源庫,當(dāng)兩者嵌套使用時(shí),我給Echart中的圖表寬度設(shè)置為了100%,但是實(shí)際的寬度卻只有100px,這篇文章主要給大家介紹了關(guān)于echarts圖表設(shè)置寬度100%結(jié)果為100px的解決辦法,需要的朋友可以參考下2022-12-12JavaScript生成隨機(jī)驗(yàn)證碼代碼實(shí)例
這篇文章主要介紹了JavaScript生成隨機(jī)驗(yàn)證碼代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09JavaScript數(shù)據(jù)存儲 Cookie篇
這篇文章主要為大家介紹了JavaScript數(shù)據(jù)存儲 Cookie篇,感興趣的朋友可以參考一下2016-07-07javascript+HTML5 Canvas繪制轉(zhuǎn)盤抽獎
這篇文章主要為大家詳細(xì)介紹了javascrip+HTML5 Canvas繪制轉(zhuǎn)盤抽獎的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-04-04Mock.js的安裝與使用教程(擺脫后端同學(xué)的束縛)
Mock功能可以根據(jù)接口/數(shù)據(jù)結(jié)構(gòu)定義、Mock規(guī)則配置、Mock?期望配置,自動生成模擬數(shù)據(jù),且使用者可以根據(jù)需要靈活構(gòu)造各種結(jié)構(gòu)的接口數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Mock.js的安裝與使用的相關(guān)資料,需要的朋友可以參考下2022-08-08