PHP中的正则表达式不起作用

时间:2012-06-18 12:13:49

标签: php regex

       $subject= "Citation flow <img src='/static/images/icons/help.png'>
                                </span>
                            </p>
                            <p style='font-size: 150%;'><b>11</b></p>";
           $pattern="/Citation flow[.]+<b>([0-9]+)<\/b>/i";

          preg_match_all($pattern, $subject,$matches,PREG_PATTERN_ORDER);

          print_r($matches);

我想捕获数字11 inisde粗体标签..但我的正则表达式不起作用..为什么?

更新:

我想出了这个......但我不是100%这是最好的解决方案:

$pattern="/Citation flow[\s\S]*<b>([0-9]+)<\/b>/i";

2 个答案:

答案 0 :(得分:3)

嗯,它无法匹配,因为Citation flow后面有一个空格,而不是任意数量的点。你可能意味着

(?si)Citation flow.+<b>(\d+)</b>

答案 1 :(得分:0)

你不想要

$pattern="/Citation flow[.]+<b>([0-9]+)<\/b>/si";