深悉PHP正则(pcre)最大回溯/递归限制

作者:enenba | 发表于:2012-03-08 21:34 | 分类:正则表达式

今天,Tank问了一个问题, 对于如下的正则:/<script>.*?<\/script>/i
当要匹配的字符串长度大于100014的时候, 就不会得出正确结果:

阅读全文>>

0人成功匹配 2038人撸过

为目标加上链接的正则表达式

作者:enenba | 发表于:2012-02-17 09:17 | 分类:正则表达式
目的:用来匹配数据库中的内容,以“菊花茶”为例,想为菊花茶加上超链接。需要替换的文本举例及规则说明:1、我爱喝菊花茶

阅读全文>>

0人成功匹配 1514人撸过

解释一个判断邮件的正则表达式

作者:enenba | 发表于:2012-02-17 09:02 | 分类:正则表达式
判断邮件的一个正则表达式,逐句解释下是什么意思  ^(\w+((-\w+)|(\.\w+))*)

阅读全文>>

0人成功匹配 1690人撸过

使用正则表达式优化网页代码

作者:enenba | 发表于:2012-01-22 11:46 | 分类:正则表达式

正则表达式最早在perl语言中出现,在此之前为了测试字符串中是否存在某个字符,不得不使用如ChatAt()、indexOf()等函数对字符串循环校验。一旦验证的条件复杂起来(比如身份证校验)实现就变得相当繁杂和艰巨。为此人们就发明了正则语法,使用一个特殊的字符串作为模板,对输入的字符流进行匹配,这跟电子厂的PCB板检测原理很相似。正则表达式在不同工具中实现方式虽然有点不同,但表达语法相同,一般都遵...

阅读全文>>

0人成功匹配 1438人撸过

求正则表达式。匹配小数可有可无,最多两位小数,必须大于零

作者:enenba | 发表于:2012-01-10 23:44 | 分类:正则表达式

问:求一个正则表达式。要求:小数可有可无,最多两位小数,必须大于零,急,在线等
答:^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$
 
采用否定式向前查看后
(?!……)  是否定式向前看
(?:……)  后向引用内容
 0+(?:\.0+)?就是说当以0开头时后面要接上“.”并且要有一个以上的0接在“...

阅读全文>>

0人成功匹配 4351人撸过

正反向预搜索(前后查看)初解

作者:enenba | 发表于:2012-01-07 23:04 | 分类:正则表达式

这次是对正则的研究,前一天看了正向预搜索(向前查看)、和反向预搜索(向后查看)

“向前查看”和“向后查看”。他们也被称作“零长度断言”。他们和锚定一样都是零长度的,“前后查看”会实际匹配字符,只是他们会抛弃匹配只返回匹配结果:匹配或不匹配。

其正则的特点

正向预搜索:"(?=xxxxx)"

反向预搜索:"(?<=xxxxx)"

 

以下两个PHP正则的例子,简单解释下我对前后查看的理解...

阅读全文>>

0人成功匹配 2205人撸过
1 2 3 4 5 6 7 8