美文网首页
正则表达式

正则表达式

作者: Lavinci | 来源:发表于2018-02-10 15:06 被阅读0次

    正则表达式的使用

    近来写爬虫经常要从网页中截取某些链接,用find方法很是麻烦,现在发现正则表达式是真的好用,写出来分享一下

    有一个笑话讲的好,当你发现有一个问题能用正则表达式解决时,你就有了两个问题,确实是这样,构造一个表达式确实没有现象中那么简单\

    我以python中re模块作为测试,最后以抓取(百度壁纸吧)[https://tieba.baidu.com/p/3740796143#!/l/p1]的图片为例写一个python代码

    ()[]

    实例

    .是和windows中*一样作用的通配符
    !()[]

    那如果我想单独匹配.怎么办?用\把特殊含义去掉就好

    用中括号可以匹配任意字符类
    !()[]

    如上图所示,[0-9]很明显重复了,所以我们可以这样写,用大括号可以描述重复次数
    !()[]

    \d可以表示任意数字
    !()[]

    那我们试着描述一下192.168.1.1/24这个地址段

    先分析一下它有什么特点,每个数字的范围都是0-255,那我们试着描述一下
    !()[]
    怎么匹配到了1?

    很不幸的是匹配只能匹配到0-9,所以得这样写

    !()[]

    这还只是三位数的,那么10.3.9.12这样的就没办法表示了,那怎么办呢?
    用过{0,1}表示一下次数就好了

    !()[]

    好了,就是这么长一串 0.0

    |是或的意思

    例如:
    !()[]

    ^表示出现在头部

    $表示出现在尾部

    例如:

    !()[]

    \后加数字表示子组
    例如匹配 LavinciLavinci

    [^a-z]脱字符表示取反

    !()[]

    //未完待续

    import re
    
    pattern = re.compile(r'hello')
    
    match = pattern.match('hello world!')
     
    if match:
    
        print match.group()
    

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/zumgzxtx.html