python库学习笔记(re库)

时间:2021-11-04 22:36:03

import re

  re模块中的函数:

  1.  re.compile(pattern[,flags]):根据包含正则表达式的字符串创建模式对象。

  2.  re.findall(pattern,string):列出所有匹配项。返回一个列表。

  3.  re.sarch(pattern,string[,flags]):只寻找出第一个匹配项。

  4.  re.match(pattern,string[,flags]):只在字符串的开头处匹配,只匹配第一个匹配项。

  5.  re.split(pattern,string[,maxsplit=0]:用于分割字符串。

  6.  re.sub(pat, repl, string[,count=0]):将字符串中所有pat的匹配项用repl替换。

  7.  re.escape(string):将字符串中所有特殊正则表达式字符进行转义。

  re匹配对象的方法:

通过re模块中的函数,当找到匹配项时,会返回一个MatchObject对象,可以这些对象应用一些方法

  1.  group():在正则中一对括号代表一组,组的序号取决于它左侧括号数量。组0就是整个模式

      例:‘There (was a (wee)(cooper)) who (lived in Fyfe)'

        包含下面这些组:

        0 There was a wee cooper who lived in Fyfe

        1 was a wee cooper

        2 wee

        3 cooper

        4 lived in Fyfe

      例2:

        >>>m = re.match(r"(..)+", "a1b2c3") 
        >>>m.group(1) 
        'c3' 

        这里只有一个括号,所以是一个group....这个group匹配了3次,一个group的每一次匹配覆盖上一次的匹配结果。

  2.  start([group]):返回给定组匹配项的开始索引

  3.  end([group]):返回给定组匹配项的结束索引加+1

  4.  span([group]):以元组的形式返回开始结束索引

  贪婪和非贪婪模式:

  *?,+?,??,{m,n}?    前面的*,+,?等都是贪婪匹配,也就是尽可能匹配,后面加?号使其变成惰性匹配

  正则表达式中的特殊字符:

python库学习笔记(re库)

  预定义字符集:

python库学习笔记(re库)