Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的正则表达式不';行不通 $subject=“引用流 11”; $pattern=“/Citation flow[.]+([0-9]+)/i”; preg_match_all($pattern,$subject,$matches,preg_pattern_ORDER); 打印(匹配项);_Php_Regex - Fatal编程技术网

PHP中的正则表达式不';行不通 $subject=“引用流 11”; $pattern=“/Citation flow[.]+([0-9]+)/i”; preg_match_all($pattern,$subject,$matches,preg_pattern_ORDER); 打印(匹配项);

PHP中的正则表达式不';行不通 $subject=“引用流 11”; $pattern=“/Citation flow[.]+([0-9]+)/i”; preg_match_all($pattern,$subject,$matches,preg_pattern_ORDER); 打印(匹配项);,php,regex,Php,Regex,我想捕捉粗体标记中的数字11。。但是我的正则表达式不起作用。。为什么? 更新: 我想出了这个。。但我不是100%,这是最好的解决方案: $subject= "Citation flow <img src='/static/images/icons/help.png'> </span> </p>

我想捕捉粗体标记中的数字11。。但是我的正则表达式不起作用。。为什么?

更新:

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

       $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);
$pattern=“/Citation flow[\s\s]*([0-9]+)/i”;

好吧,它不能匹配,因为
引用流
后面有一个空格,而不是任意数量的点。你可能是说

$pattern="/Citation flow[\s\S]*<b>([0-9]+)<\/b>/i";
(?si)引文流程+(\d+)

好吧,它不能匹配,因为
引用流
后面有一个空格,而不是任意数量的点。你可能是说

$pattern="/Citation flow[\s\S]*<b>([0-9]+)<\/b>/i";
(?si)引文流程+(\d+)
您不想要吗

(?si)Citation flow.+<b>(\d+)</b>
$pattern=“/引文流[.]+([0-9]+)/si”;
您不想要吗

(?si)Citation flow.+<b>(\d+)</b>
$pattern=“/引文流[.]+([0-9]+)/si”;


当你说
[.]+
时,你实际上是指
+
<代码>[.]+匹配一串点;点在字符类中并不特殊。我强烈建议使用实际的HTML解析器,如simpledom-。您似乎试图用正则表达式解析HTML。你可能想读我知道的关于简单html解析的书。。但是我要刮的文档没有很多独特的标签,当你说
[.]+
时,实际上是指
+
<代码>[.]+匹配一串点;点在字符类中并不特殊。我强烈建议使用实际的HTML解析器,如simpledom-。您似乎试图用正则表达式解析HTML。你可能想读我知道的关于简单html解析的书。。但是,我正在尝试刮取的文档没有很多独特的标记\d+和我所做的区别不要忘记使用
/s
(?)s
。Dmitry:
\d
[0-9]
的简写。您可以在
preg\code>中,将
/s
I
选项放在尾部分隔符之后。这只是一种内联指定正则表达式选项的方法。\d+和我所做的有什么区别?别忘了使用
/s
(?)s
。Dmitry:
\d
[0-9]
的缩写。你可以将
/s
i
选项放在
preg\code>中尾部分隔符之后。这只是一种内联指定正则表达式选项的方法。不太可能,因为这也会尝试匹配文字点。不太可能,因为这也会尝试匹配文字点。