需要匹配文本如下:
要求alt标签不为hello,不能与src中后面的图片名相同,不能为汉字
<img src="en/images/main_page/cover.jpg" alt="hello" />
<img src="en/images/main_page/cover.jpg" alt="cover" />
<img src="en/images/main_page/cover.jpg" alt="我是汉字" />
<img src="en/images/main_page/cover.jpg" alt="yingwen" />
<img alt="yingwen" src="en/images/main_page/cover.jpg" />
<img src="images/en_adu_1_6_1_submenu_07out.gif" alt="Material2" name="Material2" width="130" height="18" border="0" id="Materia12" onmouseover="MM_swapImage ('Material2','','images/en_adu_1_6_1_submenu_07in.gif',1)" onmouseout="MM_swapImgRestore()" />
<img src="images/spacer.gif" width="1" height="55" alt="hello" />
<img title="動畫所見是牙冠的縱切面。蛀壞部分從琺瑯質開始,一直蔓延至象牙質,形成明顯的蛀牙洞" alt="動畫所見是牙冠的縱切面。蛀壞部分從琺瑯質開始,一直蔓延至象牙質,形成明顯的蛀牙洞" src="02_inside/teens_OD_3DAni_07a.gif">
有三种方法: 前两种用法为常用的,后一种不经常使用,但是非常简洁 <img[^>]+(?<=alt=")(?!hello|2)([a-zA-Z]+)[^>]*src=["']?([^"']+/(w+).(?:jpg|gif|png))"|<img[^>]+(?<=src=["']?)([^"']+/(w+).(?:jpg|gif|png))"[^>]*alt="(?!hello|5)[a-zA-Z]+[^>]*> <img(?=[^>]*src="(?:[^"]*/)?([^".]*).[^"]*")(?=[^>]*alt="(?!hello")(?!1)[^"]+")[^>]*/> (?=.*?/([a-zA-Z0-9_]+).(?:jpg|gif|png))<img[^>]+?alt="(?!1|hello")[a-zA-Z0-9._]+"[^>]*> 下面为常用去除input 标签中的value,name值,位置不固定,是上面方法的扩展 <input(?=[^>]*value=s*["']?([^"]*))(?=[^>]*name=s*["']?([^"]*))[^>]*> (?=.*?value=s*["']?([^"]*))<input[^>]+name=["']?([^"]+)"[^>]*>