compile()
- 参数
- string: 正则表达式字符串
- flag: 匹配模式,多个值可以使用按位或运算符| 表示同时生效
- re.I: 忽略大小写
- re.M: 多行模式,改变^和$的行为
- re.S: 点任意匹配模式,改变.的行为
- re.L: 使预定字符类\w \W \b \B \s \S 取决于当前区域设定
- re.U: 使预定字符类\w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
- re.X: 详细模式。这个模式下正则表达式可以是多行,忽略空白符,并可以加入注释
- 返回
- Pattern对象,可以进行重复利用,以下的各种re.xxx匹配方法都可以对应的pattern.xxx方法
match()
- 参数
- pattern: 正则表达式字符串或者Pattern对象
- string: 原始字符串
- flag:
- 返回值
- 注意是从头开始匹配,如果第一个字符就没匹配则直接返回None,如果匹配成功,返回一个match对象
- 如果没有分组,直接用返回对象调用group()方法即可获取到匹配的子串
- 如果有分组,返回对象调用group()方法不带参数,则获取的是整个匹配的子串,如果带参数group(index),其中index表示第index个分组,index从1开始,则返回的是对应分组的子串
search()
- 参数
- pattern: 正则表达式
- string: 原始字符串
- flag:
- 返回值
- 与match()方法类似,但是不是必须从第一个字符开始匹配,整个字符串中任意位置匹配成功都可以,返回第一个匹配的字串,match对象,可使用match对应的方法提取字符串
- 如果没有分组,直接用返回对象调用group()方法即可获取到匹配的子串
- 如果有分组,返回对象调用group()方法不带参数,则获取的是整个匹配的子串,如果带参数group(index),其中index表示第index个分组,index从1开始,则返回的是对应分组的子串
findall()
- 参数
- pattern: 正则表达式
- string: 原始字符串
- flag:
- 返回值
- 如果没有分组,则所有匹配上的子字符串组成的list
- 如果只有一个分组,则是每个匹配的子串中分组部分组成的list
- 如果有多个分组,则是由所有匹配的子串的分组tuple组成的list
finditer()
- 参数
- pattern: 正则表达式
- string: 原始字符串
- flag:
- 返回值
- 以迭代器的形式返回能匹配的全部Match对象,需要循环调用Match对象的group()方法提取匹配的字符串
split()
- 参数
- pattern: 正则表达式
- string: 原始字符串
- maxsplit: 最大分割次数
- flag:
- 返回值
- 所有被正则表达式分割出来的子串组成的list,注意:结果中可能会包含空字符串
sub()
- 参数
- pattern: 正则表达式
- repl:
- 如果是字符串:可以使用 \id或者\g或者\g引用分组,其中id表示分组序号,从1开始;name表示分组名称,如果对分组进行了命名的话。
- 如果是函数:会传入一个Match对象,返回一个字符串进行替换,注意这个字符串无法引用分组
- string: 原始字符串
- count: 被替换的次数
- 返回值:
subn()
- 类似sub()
- 返回的是元组:(sub()的结果, 替换的次数)
前面说的匹配结果中的Match对象
- 属性
- string: 匹配时用到的文本
- re: 匹配时用到的Pattern对象
- pos: 正在表达式开始搜索的索引
- endpos: 正则表达式结束搜索的索引
- lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,则返回None
- lastgroup: 最有一个被捕获的分组的别名。如果这个分组没有别名或者没有被捕获的分组,则返回None
- 方法
- group([group1,group2...]): 获取一个或多个分组截获的字符串,如果传入多个参数,则以元组的形式返回
- group1, group2...: 参数可以是分组编号,或者分组名
- 分组编号0表示整个匹配的字符串
- 分组编号从1开始对应具体的分组
- groups([default]): 以元组形式返回全部分组截获的字符串,相当于group(1, 2...),default表示没有截获字符串的组的默认值,默认为None
- groupdict([default]): 返回有别名的组组成的字典,没有别名的组不在返回结果中
- start([group]): 返回指定的组截获的子串在文本中的起始索引,group默认为0
- end([group]): 返回指定的组截获的子串在文本中的结束索引,group默认为0
- span([group]): 返回(start(group), end(group))
- expand(template): 将匹配到的分组代入template中,可以使用 \id或者\g或者\g引用分组
posted @
2022-03-03 22:28
liDB
阅读(
156)
评论()
编辑
收藏
举报