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

    可能有很多我考虑不周到的地方,请大家指出,虚心向各位园友学习。
    这也是我发这个贴子的主要原因,不胜感激。
  • 相关阅读:
    相交链表 3种方法
    旋转数组 空间复杂度为O(1) 的2 种方法 + 1种空间复杂度O(n)
    各种sort排序总结
    我写过的bug...
    裸BFS题若干
    luence
    mysql 找出外键等约束
    mysql (8.0 或以下)数据 卸载, 安装, 创建用户, 赋权
    navicat 导入sql文件 的正确方法
    [转] git clone 远程分支
  • 原文地址:https://www.cnblogs.com/airy/p/1546723.html
Copyright © 2011-2022 走看看