使用正则表达式来获取特定标记

时间:2015-12-29 13:09:43

标签: regex

我有一个像这样的字符串

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, 
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<img src="foo.php?n=bar.jpg">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod 
<img src="somesource.jpg">
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<img src="foo.php?n=bar_2.jpg">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<img src="foo.php?n=bar_93.jpg">


我正在寻找一个正则表达式,它会返回所有<img>标记,其中包含来源bar

所以输出应该是:

<img src="foo.php?n=bar.jpg">
<img src="foo.php?n=bar_2.jpg">
<img src="foo.php?n=bar_93.jpg">

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

这个正则表达式应该这样做

<img((bar)|[^>])*?>(?(2)(?=)|(?!))

它使用条件表达式来查看&#34; bar&#34;在第2组匹配