Preg match 预匹配不一致行为

Preg match 预匹配不一致行为,preg-match,Preg Match,我已经创建了一个正则表达式来匹配Fitvids.js支持的URL。所以这个正则表达式验证 来自youtube、vimeo、blip、viddler&kickstarted的iframe代码 \#&lt;iframe.+(youtube|vimeo|blip|viddler|kickstarter).+<\/iframe>#i \ \iframe.+(youtube | vimeo | blip | viddler | kickstarter)。+i 不幸的是,任何正则表达

我已经创建了一个正则表达式来匹配Fitvids.js支持的URL。所以这个正则表达式验证 来自youtube、vimeo、blip、viddler&kickstarted的iframe代码

\#&lt;iframe.+(youtube|vimeo|blip|viddler|kickstarter).+<\/iframe>#i
\ \iframe.+(youtube | vimeo | blip | viddler | kickstarter)。+i
不幸的是,任何正则表达式验证器都会用URL验证这一点,但奇怪的是,php的preg_match函数给出了一个错误的结果


如果有人能给我一个解决方案,以及为什么PHP正则表达式和其他perl正则表达式结果之间有这么多不一致的地方,这将非常有帮助。另外,为什么ereg(很快就会被消除)会给出正确的结果,而preg_match不会给出正确的结果。

这仅仅是因为ereg不是PCRE(Perl兼容的正则表达式),而是preg_match函数。任何不推荐使用的函数都会出现奇怪的行为。

不幸的是,我也希望这种行为形式与preg_匹配:p