为什么正则表达式在已经转义的引号上失败


Why is regex failing on already-escaped quotes?

>我正在使用以下正则表达式:

$regex = "/Built upon the <a href='"[^>]+banshee-php''.org/'">[a-z]+<'/a>(?:v([''d.]+))?'';version:''1/U";

我正在使用preg_match针对典型网页的标记运行它,但它在引号处死亡。

preg_match(): 未知修饰符 '"'

由于所有引号都已经转义,我不确定为什么它没有运行。

您可以通过选择不同的regex delimiter并在字符串周围使用单引号来避免所有转义,如下所示:

$re='~Built upon the <a href="[^>]+banshee-php'.org/">[a-z]+</a>(?:v(['d.]+))?'';version:'1~U';