当前位置: 代码迷 >> PHP >> 正则里的贪婪表达式。解决思路
  详细解决方案

正则里的贪婪表达式。解决思路

热度:196   发布时间:2012-03-12 12:45:32.0
正则里的贪婪表达式。。
PHP code

$a = '<b>aaa</b><b>bbb</b><b>ccc</b>';

$pattern1 = '/<b>.*?<\/b>/';
$pattern2 = '/^<b>.*?<\/b>$/';



用$pattern1和$pattern2与$a进行匹对,第一个能匹配出'<b>aaa</b>'、'<b>bbb</b>'、'<b>ccc</b>'这三个
但是用$pattern2只能匹对出'<b>aaa</b><b>bbb</b><b>ccc</b>',也就是.*?的贪婪模式没起作用,这是为什么???

谢谢!

------解决方案--------------------
因为你加了结尾符$ 所以它就一直匹配到字符串末尾。

即使去掉了$ 也只能匹配第一个<b>aaa</b>,因为你加了 ^
  相关解决方案