JS匹配任意字符的正则表达式写法
来源:互联网 发布:网络机柜厂家报价 编辑:程序博客网 时间:2024/04/26 07:27
今天在写一个小应用的时候遇到个问题,原本是想捕捉到页面中所有电驴地址,以便迅雷抓取。
实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码
代码如下:
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.*/|///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]亦可。
本文转自:http://kingoa.net/WEBPROGRAM/JAVASCRIPT/2010/1022/22586.html
- JS匹配任意字符的正则表达式写法
- 正则表达式 匹配任意长度的字符
- java匹配任意字符的正则表达式
- 关于正则表达式匹配任意字符(包括换行符)的写法
- 关于正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- PHP中关于正则表达式匹配任意字符(包括换行符)的写法
- Delphi 正则表达式匹配任意字符(包括换行符)的写法
- Python 匹配任意字符(包括换行符)的正则表达式写法
- 关于正则表达式匹配任意字符(包括换行符)的写法
- 关于正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符(包括换行符)的写法
- 正则表达式匹配任意字符
- 局域网 SQL SERVER 1433
- commons包简介
- 试图运行项目时出错无法启动调试 没有正确安装调试器
- 2011年的目标
- CSocket::Create调用失败 原因和解决方法
- JS匹配任意字符的正则表达式写法
- style.top style.left 在IE和FireFox的区别
- offsetWidth offsetHeight offsetTop offsetLeft style.top style.left
- actionscript中的相关术语
- PL/SQL操作EXCEL
- Monkey patcher for Lua
- 如何关闭一个正在accept的ServerSocket?
- SSL协议与数字证书原理
- 加速你的 Ubuntu 降低CPU使用率