摘要: 什么时候会用到递归正则表达式呢? 当然是待匹配的字串中递归地出现某种模式时(貌似废话). 最经典的例子, 就是递归正则处理嵌套括号的问题了. 例子如下.假设你的文本中包含了正确配对的嵌套括号. 括号的深度可以是无限层. 你想捕获这样的括号组.标准答案: "; print_r($matches); echo ""; } ?>其输出结果:Array ( [0] => (a(b(c)d)e) [1] => e ) 可见, 我们所需要的文本, 已经捕获到$matches[0]中了. 原理 现在思考原理. 上面的正则表达式中的关键点是(?R). (?R)的 阅读全文
posted @ 2014-02-12 13:17 一觉睡到天黑黑 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 例子,PHP正则表达式匹配img中任意属性。PHP正则提取或更改图片img标记中的任意属性';//1、取整个图片代码 preg_match('/]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match); echo $match[0];//2、取width preg_match('//i',$str,$match); echo $match[1]; //整理:www.jbxue.com//3、取height preg_match('//i',$str,$ 阅读全文
posted @ 2014-02-12 13:15 一觉睡到天黑黑 阅读(263) 评论(0) 推荐(0) 编辑
摘要: PHP preg_replace()正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素。用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的。 比如模版引擎解析模版、垃圾敏感信息过滤等等。 一般这种情况,我们用正则按我们的规则去匹配preg_match、替换preg_replace。 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少。 根据前面说的,两种场景:统计分析,用匹配;处理用替换。PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP pr 阅读全文
posted @ 2014-02-12 13:13 一觉睡到天黑黑 阅读(3228) 评论(0) 推荐(0) 编辑