匹配任意字符的正则表达式写法

时间:2010-04-29    点击:229   
实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码
复制代码 代码如下:

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]亦可。
jquery+json 通用三级联动下拉列表
javascript中的变量是传值还是传址的?
js获取当前select 元素值的代码
jQuery 锚点跳转滚动条平滑滚动一句话代码
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved