我是这个领域的新人,所以我对regex
一无所知。我的问题是这样的
我的内容为"div"
,其属性为"href"
,最后为"img"
。我希望regex
与"img"
源内容相匹配,如果该特定内容的url
匹配,我可以通过该内容获取该内容的数据。
<div class="test_list3">
<a href="/photo/tst_t_45288/6782/12/1/">`<img src="http://example.com/1700/tst_t_45288/m2/tst_t_45288_1.jpg" title="tst-t 1" alt="tst-t 1" /></a><br /><a href="http://example.com/1700/tst_t_45288/tst_t_45288_1.jpg" target="_blank">jpg file</a>
</div>
有什么建议吗?
答案 0 :(得分:1)
如果使用正则表达式是最后一个选择,您可以使用:
(?s)<div[^>]*>.*<img.*src=\"([^"]+)\".*<\/div>
的说明强> 的
s
标记才能使dot
与新行匹配。div
检查打开<div[^>]*>
标记及其所有属性
[^>]*
零个或多个字符,但不是>
img
.*
标记为止
src
属性<img.*src
之前查看可能的属性或空格"
中src
以外的所有字符:src=\"([^"]+)
div
标签答案 1 :(得分:0)
我认为我不能只通过一个reg exp
来做到这一点 1.使用<div[^>]*>[^<>]*(((?'Open'<div[^>]*>)[^<>]*)+((?'-Open'</div>)[^<>]*)+)*(?(Open)(?!))</div>
获取两个div标签之间的内容。
2.使用其他reg exp匹配step1中的匹配字符串,并获取img标记之间的内容。