匹配任意字符的正则表达式写法
正则匹配的含义实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码
复制代码代码如下:
var docs = document.body.innerHTML;
var links =docs.match(/ed2k.*\|\//gi);//注意这⾥使⽤了点(.)符号匹配任意字符
document.body.innerHTML = "";
for( var link in links){<BR>
document.body.innerHTML += links[link]+"<br/>"
}
以上代码起初⼀切正常,在接下来的测试中发现,如果电驴地址中存在全⾓字符时就匹配就会失败。遂改⽤如下写法复制代码代码如下:
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/>"
}
结论,点(.)符号在匹配任意字符时还是有局限性,具体规则不详,暂且可⽤[\s\S]代之,同理[\d\D]或[\w\W]亦可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论