匹配任意字符的正则表达式写法
实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码
代码如下:
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]亦可。
相关推荐
-
正则表达式匹配不包含某些字符串的技巧
经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤"hede"字串,但这种写法是错误的.我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含'h','e','d'三个但字符.那什么样的正则表达式能过滤出不包含完整"hello"字串的信息呢? 事实上,说正则表达式里不支持逆向匹配并不是百分之百的正确.就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们的问
-
正则表达式 匹配至少有一个非空白字符并且不超过指定长度
chinmo 逆向思维解决方案 复制代码 代码如下: <script type="text/javascript"> /** * 至少有一个非空白字符并且不超过6个字符的正则表达式 * * 作者:chinmo * 整理:http://www.CodeBit.cn * 来源:http://topic.csdn.net/u/20090207/18/ffa003ed-ecd4-40e0-b81f-36aa1fe46d85.html#r_55136904 */ var patter
-
js 正则表达式学习笔记之匹配字符串
今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) 复制代码 代码如下: var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 34 控制台中
-
php正则表达式匹配img中任意属性的方法
经常和图片打交道,不得不用到一些提取图片中scr.alt.title.等的属性,这里总结给大家一些常用的,感觉还不错,比较通用! PHP正则表达式匹配img中任意属性PHP 复制代码 代码如下: <?php /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"&
-
正则表达式实现最小匹配功能的方法
本文实例讲述了正则表达式实现最小匹配功能的方法.分享给大家供大家参考,具体如下: 正则表达式默认情况下实现的是最大化匹配,这在有些情况下是非常不愿意出现的,比如下面这段代码: # starting IndiaInventoryAPP.exe" ~~DisplayVariableValues "parameterGroup,mailRecipients,ModuleArgs"~DisplayVariableValues "LogFolder"~$binary
-
匹配yyyy-mm-dd日期格式的的正则表达式
其实我也很头疼正则表达式,百度了一些资料,总结一下,这里留个备份吧. 要考虑的问题:合法的日期是多少:每个月的天数不一样:闰年的问题.... 1.合法的日期:MSDN上规定--在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间 查看http://msdn.microsoft.com/zh-cn/library/system.datetime(VS.80).aspx 2.闰年的概念:百
-
PHP匹配多行的正则表达式分析
复制代码 代码如下: <table> <tr><td>aaaa</td></tr> <tr><td>bbbb</td></tr> <tr><td>cccc</td></tr> <tr><td>dddd</td></tr> </table> 像这种的文本,用PHP的正则表达式怎么匹配?? 我最初
-
php用正则表达式匹配URL的简单方法
在PHP的官网上看到的parse_url()函数的替代方案.结果和parse_url()函数差不多,是使用正则实现的.URI 是 Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位. 对象分组: 复制代码 代码如下: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?12 3
-
正则表达式匹配任意字符(包括换行符)的写法
今天在Java中想使用正则表达式来获取一段文本中的任意字符.于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符.同时,手册上还有一句话:要匹配包括 '\n' 在内的任何字符,请使用像 '[.\n]' 的模式.于是我将正则表达式的匹配规则修改如下: ([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\n]*) 结果
-
js正则表达式匹配数字字母下划线等
1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ^ 与字符串开始的地方匹配 (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字.数字.字母.下划线 $ 与字符串结束的地方匹配 放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]
-
正则表达式匹配 非XXX的行
1111111111111 前边有内容,不定123.123.123.10后边有内容,不定 3333333333333 4444444444444 如何匹配"非:.+123.123.123.10.+ " 行 匹配结果是, 1111111111111 3333333333333 4444444444444 结论: ^(?!.*123.123.123.10).*$ 或C#里这么操作: textBox2.Text = Regex.Replace(textBox1.Text, @&
-
匹配中文汉字的正则表达式介绍
\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 复制代码 代码如下: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也是双字节的字符 复制代码 代码如下: 匹配双字节字符(包括汉字在内):[^\x00-\xff] 注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) PS:关于正则,本站还提供了2款非常简便实用的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http:/
随机推荐
- BAT批处理、VBScript批量安装字体脚本分享
- js 获取input点选按钮的值的方法
- Java Array与ArrayList区别详解
- 浅谈下拉菜单中的Option对象
- 你未必知道的JavaScript和CSS交互的5种方法
- Vim命令高级用法
- firefox下frameset取不到值的解决方法
- xhtml+css网页制作中常见问题解决方法
- android通用xml解析方法
- laravel自定义分页效果
- 很酷的javascript loading效果代码
- javascript使用百度地图api和html5特性获取浏览器位置
- js 重构Array的sort排序方法
- PHP搭建大文件切割分块上传功能示例
- SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)
- android 获取视频第一帧作为缩略图的方法
- 详解SpringBoot Controller接收参数的几种常用方式
- python获取交互式ssh shell的方法
- ionic3实战教程之随机布局瀑布流的实现方法
- springboot实现rabbitmq的队列初始化和绑定