我正在尝试编写一个简单的正则表达式,它将找到对象标签并忽略包含单词“youtube or”youtu.be“的任何匹配。
我试过
<object .*?>.+?(?=youtube|youtu\.be).+?<\/object>
哪个成功找到包含这些单词的对象标签,但反过来不起作用,而只返回所有对象匹配。
<object .*?>.+?(?!youtube|youtu\.be).+?<\/object>
知道我在这里缺少什么吗?
编辑: 它必须查看类似于:
的来源fdgfdgfdg
<object width="560" height="315">
<param name="movie" value="http://www.youtube.com/v/-F_ke3rxopc?version=3&hl=en_US">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/-F_ke3rxopc?version=3&hl=en_US" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true">
</embed>
</object>
fdgfdgdg
<object width="400" height="300">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=31589401&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" />
<embed src="http://vimeo.com/moogaloop.swf?clip_id=31589401&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=00adef&fullscreen=1&autoplay=0&loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300">
</embed>
</object>
fdgdgg
然后选择不包含单词的对象块,以便我可以对它们进行替换。
答案 0 :(得分:0)
有效但不完美的正则表达式将是:
<object.*>.*(youtube|youtu\.be).*<\/object>
顺便说一句。 http://www.rubular.com/是一个检查正则表达式的好网站