使用lookbehind和lookahead找到preg_match_all

时间:2011-02-09 11:08:10

标签: php regex preg-match-all

我有当前行

preg_match_all('/(?<=, ")<b>[\d\D]+(?="\)\;})/',$str,$matches);

其中$ str等于

906), "<b>tadam tadam 393943</b>");});

由于某种原因它找不到匹配,那是怎么回事?

更新
为了使它工作,我需要在中添加U. 正则表达式的结束,所以它不会贪婪...
去图。

1 个答案:

答案 0 :(得分:1)

确实匹配,您只需要用括号指定组:

preg_match_all('/(?<=, ")(<b>[\d\D]+)(?="\)\;})/',$str,$matches);

以便可以通过<b>[\d\D]+访问匹配$matches[1][0]的片段。