. 匹配任意字符
* 匹配任意个数
.*? 匹配结果最少的规则的
<img. 只会匹配 <img[一个字符]
<img.*> 会匹配 <img src="1.gif">...其他代码..</html>
<img.*?> 会匹配 <img src="1.gif">
[\'"] 匹配一个字符,可以是‘,也可以是”,
比如class="ClassABC“
如果能确定class的位置(在src前),可以用下面的正则
<img.*?(class="ClassABC").*?src=[\'"](.*?)[\'"].*?>
不确定class的位置,可以修改为:
(<img.*?(class="ClassABC").*?src=[\'"](.*?)[\'"].*?>|<img.*?src=[\'"](.*?)[\'"].*?(class="ClassABC").*?>)
下载个 正则表达式测试工具,测试下就可以了
两种方式,URL可能会在3或4的位置,可以用?<xxx>方式合并下
终极正则:
(<img.*?(class="ClassABC").*?src=[\'"](?<url>.*?)[\'"].*?>|<img.*?src=[\'"](?<url>.*?)[\'"].*?(class="ClassABC").*?>)