当前位置 博文首页 > mmp591的博客:python3正则表达式简单使用、search()、match()等

    mmp591的博客:python3正则表达式简单使用、search()、match()等

    作者:[db:作者] 时间:2021-08-20 15:48

    原生字符串

    • raw string:转义字符’\’不解释为转义字符

    re包的几个主要的函数

    • re.search(pattern, string, flags=0)?
      • 返回匹配的match对象
      • flags:正则表达式使用时的标记
      • re.I->IGNORECASE 忽略正则的大小写、[a-Z]可匹配所有字母
      • re.M->MUTILINE 表达式中的^能够将给定字符串的每行作为匹配开始
      • re.S->DOTALL .可以匹配除换行符以外的字符、若使用re.S则可以匹配换行符
    • re.match()?
      • 返回匹配的match对象
      • 默认从给定字符串的开头开始匹配、即使正则表达式没有用^声明匹配开头
    • re.findall()?
      • 以列表(可迭代变量)形式返回所有匹配到的子串
    • re.split(pattern, string, maxsplit, flags=0)?
      • 将匹配到的子串删掉、以列表的形式返回剩下的子串
    • re.finditer()?
      • 以可迭代变量形式返回匹配的match对象
    • re.sub(pattern, repl, string, count=0, flags=0)?
      • 用repl替换所有匹配到的子串、并返回替换后的字符串、count表示最大替换次数
      • 宁波最好的整形医院http://www.iyestar.com/
        宁波好的整形医院http://www.iyestar.com/

    Match对象

    • Match对象的几个属性:?
      • .string 待匹配的文本
      • .re 匹配使用的pattern对象
      • .pos 正则表达式搜索文本的开始位置
      • .endpos 正则表达式搜索文本的结束位置
    • Match对象的几个方法:?
      • group(0) 返回匹配到的子串
      • start() 返回匹配子串的开始位置
      • end() 返回匹配子串的结束位置
      • span() 返回start()、end()

    贪婪匹配与最小匹配

    • 贪婪匹配?
      • re库默认返回匹配到的最长子串
    • 最小匹配?
      • 只需要对正则的几个操作符做一些扩展就可以使用最小匹配
      • *? 前一个0次或无限次匹配、并且最小匹配
      • +? 前一个1次或无限次、并且最小匹配
      • ?? 前一个字符0次或1次匹配、并且最小匹配
      • {m,n}? 扩展前一个字符m至n次、最小匹配
    cs