• 2019/3/15 Python今日收获


    Python day18——057论一只爬虫的自我修养5:正则表达式、

    1.正则表达式中"."(点号)可以匹配所有字符。如果要匹配点号则加上反斜杠()。

    2.匹配数字则用d。

    3.[ ]中括号用来创建字符类,可以匹配其中的任意一个字符,但是注意正则表达式是区分大小写的。例如:rre

    re.search(r'[aeiou]','I love you') 结果是

    匹配到了o字母,为什么没有匹配开头的I,因为他是大写。

    另:若这样写[a-z],则会匹配26个小写字母。同理,也可以写[0-9],[1-9]这样的字符类。

    4.可以这样写re.search(r'ab{3}c','abbbc'),大括号表示要重复三次前面的字符 。

    甚至可以给重复次数一个范围:re.search(r'ab{3,10}c','abbbc')三到十次都可以匹配。

    5.那么问题来了,如何匹配ip地址的0-255范围呢:re.search(r'[01]dd|2[0-4]d|25[0-5]','192')即可。

    但是ip地址的最后两位可能出现个位数如:192.168.1.1,如何解决呢?

    re.search(r'[01]{0,1}d{0,1}d|2[0-4]d|25[0-5]','192')设置前两位重复一次或零次。

    6. Python3  正则表达式特殊符号及用法

    注:①*表示零到正无穷  ②+表示一到正无穷 ③?表示0或1.尽量使用这三个符号而不是大括号,这样程序会更简洁,效率也会更高。

    ④*和+都是默认使用贪心策略,尽可能多的匹配,如果要关闭贪心,则在+或*后面加上一个?即可。

     7.特殊符号分为①元字符②+特殊字符

    +元字符会使元字符失去原有的功能。

    字符类是把[ ]内的内容当做普通字符匹配,除了几个特殊字符,比如[a-z]表示a到z

  • 相关阅读:
    获取网络时间,减轻自己服务器的请求压力
    mysql学习记录(windows)
    Docker 部署本地pip源
    npm : 无法加载文件 D:vueProject odejs ode_global pm.ps1
    微信小程序没有找到可构建的npm包
    vue 记录 mode:history 模式 踩过的坑
    Linux学习笔记
    kafka监控 Kafka-eagle-web
    vi 分屏 --(visual 可视模式)
    [安卓网络入门] 获取天气
  • 原文地址:https://www.cnblogs.com/redheart/p/10536381.html
Copyright © 2020-2023  润新知