zoukankan      html  css  js  c++  java
  • 一个能从网页把logo图片取到的正则表达式

    今天同事叫帮忙写一个正则表达式,用于匹配网站<img>标签内的所有的src属性的值,
    也就是图片的地址,这个地址里必须包括有logo字样,并且必须是以.gif,.jpg,.png的图片,
    本人的正则达表式,可谓很入门级,也就硬着答应吧,最后搞鼓了2小时终于有下面这个:

    (?<=<img[^<>]*?\ssrc=(?<i>["']?))[^'"]*?(logo)+?.*?\.(gif|jpg|png)(?=\k<i>.*?>)

    测试表达式

    测试以下文本:
    //文本开始
    1、<img src=http://www.cnblogs.com/1/logo.gif /> 没有引号
    2、<img src="http://www.cnblogs.com/2/logo.gif" />有引号,单引或双引都行
    3、<img src=../iamges/3/logo.gif />相对的路径,没有引号
    4、<img src='iamges/4/logo.gif' />相对的路径,有引号
    5、<img src="http://www.cnblogs.com/5/logo.gif' />错误的写法,双引开头,单引结束,封闭符号不一致辞
    6、<img src="http://www.cnblogs.com/6/logo.gifd" />含有logo字样,但不是以.gif或.jpg或.png结尾,也将不匹配。
    7、<img src="http://www.cnblogs.com/7/xxxxxlog.gif" />以.gif或.jpg或.png结尾,但不含有logo字样,也将不匹配。
    //文本结束
    匹配结果:
    得到4条匹配的图片URL:
    http://www.cnblogs.com/1/logo.gif
    http://www.cnblogs.com/2/logo.gif
    ../iamges/3/logo.gif
    iamges/4/logo.gif

    可能有很多我考虑不周到的地方,请大家指出,虚心向各位园友学习。
    这也是我发这个贴子的主要原因,不胜感激。
  • 相关阅读:
    【面试题】面试题合集三
    【面试题】面试题合集二
    【面试易错题】陷阱题集一
    40个Java集合面试问题和答案
    java面试题全集(下)
    java面试题全集(中)
    java面试题全集(上)
    spring cloud基础教程
    spring boot基础学习教程
    DDD
  • 原文地址:https://www.cnblogs.com/airy/p/1546723.html
Copyright © 2011-2022 走看看