zoukankan      html  css  js  c++  java
  • re模块

    正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,码农们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。

    • match 匹配字符串的开头
    • fullmatch Match a regular expression pattern to all of a string.
    • search 查找字符串内容
    • sub 替换字符串内的字符
    • subn 替换字符串内的字符,且返回替换次数
    • split 分割字符串为列表
    • findall 获取字符串内容为列表
    • finditer 获取字符串内容为迭代器
    • compile Compile a pattern into a RegexObject.
    • purge Clear the regular expression cache.
    • escape Backslash all non-alphanumerics in a string.

    findall特点与用途

      findall是查询字符串内所有符合正则规则的字符串,并且存为列表返回。

      优点:能够查询到所有满足规则的字符串

      缺点:不能支持()的抓取显示,灵活性差

      适用范围:适用对小量字符串的内容获取

    search特点和用途

    search 当发现字符串内有满足正则内容,直接返回。else 返回None
    优点:灵活操作()抓取的规则,还可以用.span 查看内容在字符串中索引位置
    缺点:如果返回None时,group返回内容会报错
       只能获取第一个满足正则的字符串
    适用范围:适合对大量有规律的字符串进项分段处理

    match特点与用途

    match 查找字符串开头满足正则条件的内容

    优点:灵活操作()抓取的规则,还可以用.span 查看内容在字符串中索引位置

    缺点:正则的 ^ 和 search组合就能替代这个方法

    适用范围:如果正则式已经存于变量,那就可用match方法,而不用修改正则

    split特点与用途

    split 根据正则对字符串进项切分,以列表形式返回
    优点:因为正则的强大,所以此方法满足任何要求的切分。 
    缺点:没有缺点,就这么叼
    适用范围:如果str的split不能满足你,随时可以用

    subn特点与用途

    subn 根据正则替换字符串,返回修改后的字符串信息,且多返回一个替换次数;通过元组类型返回 
    优点:会返回一个替换次数
    缺点:暂时没发现什么缺点
    适用范围:少量字符串的替换,且想知道替换次数

    sub特点与用途

    sub 根据正则替换字符串,返回修改后的字符串 
    优点:直接返回字符串,类型没有改变
    缺点:没有替换次数
    适用范围:个人感觉 一个subn就够了,多返回次数又不消耗多少内存

    compile特点与用途

    compile 把正则表达式转成 Pattern实例 存入变量 ,可以下次复用
    优点:可复用同样的正则规则,只一次编译提高执行速度
    缺点:暂无
    使用范围:需要重复使用同样规则的时候

  • 相关阅读:
    Chain of Responsibility Pattern
    Visitor Pattern
    Command Pattern
    Mediator Pattern
    Memento Pattern
    Observer Pattern
    State Pattern
    Strategy Pattern
    HTMLTestRunner修改Python3的版本
    loadrunner 检查点
  • 原文地址:https://www.cnblogs.com/qinghuani/p/8280020.html
Copyright © 2011-2022 走看看