(?<=<(?:XXXXX)[^>]*(?<start>(?:xxxxx)(?:/s*=/s*(?<end>["']?))))(?:[^/s"'>]*)
这个是获取指定标签的指定属性的表达式
其中
XXXXX就是指定的标签 如果有多个(?:XXXXX|XXXXX|XXXXX)
xxxxx就是指定的属性 如果有多个(?:xxxxx|xxxxx|xxxxx)
group("start") 是属性的前缀 (xxxxx=") 其中xxxxx是你的属性 后面可以忽略"="号前后的空格 并且能够区分包围属性值的 双引号 单引号 或 空
group("end") 是包围属性值的 双引号 单引号 或 空
以上无法分析你的图片类型如果需要分辨图片类型 则在上面表达式后面加上下面的表达式
说多了怕你不懂给你个实际点的表达式
(?<=<(?:img)[^>]*(?<start>(?:src)(?:/s*=/s*(?<end>["']?))))(?:[^/s"'>]*)/.(?:jpg|gif|jpeg|bmp|png)
测试:
<IMG src= '/eicms/wwwroot/resources/12/2006101207263154.jpg' border=0><IMG src ="/eicms/wwwroot/resources/1/20061012023459298.jpg" border=0>
match到2个分别是
/eicms/wwwroot/resources/12/2006101207263154.jpg
组"start" 为 (src= ')
组"end" 为 (')
/eicms/wwwroot/resources/1/20061012023459298.jpg
组"start" 为 (src =")
组"end" 为 (")
如果你不需要里面的2个组 可以用这个表达式
(?<=<(?:img)[^>]*(?:(?:src)(?:/s*=/s*(?:["']?))))(?:[^/s"'>]*)/.(?:jpg|gif|jpeg|bmp|png)