使用正则表达式在标记内找到img标记

时间:2013-05-26 15:42:40

标签: c# regex image hyperlink

我有一个HTML字符串,我想找到像<a href="link1"><img src="link2"/></a>

这样的图片链接

我尝试使用此正则表达式模式,但它不起作用:"\<a\s.*\<img.*\<\/a\>"

当我使用该模式时,它会找到类似<a href="link1">some text1</a>some text2.<a href="link1"><img src="link2"/></a>的字符串,但我不想要第一个<a href部分。我只想在标签内部使用img标签,我需要帮助。

1 个答案:

答案 0 :(得分:0)

当您只想要整体正则表达式的一部分时,您需要使用组或反向引用( )

"\<a\s.*\(<img.*\/>)<\/a\>"

然后根据您获得第一组的语言。

http://www.regular-expressions.info/brackets.html

更新: 要完全匹配尝试:

 \<a[^<]*\<img.*\<\/a\>

而不是\s我使用的[^<]<以外的任何字符。