python库-re库


re库

常用方法

在字符串中查找符合正则表达式的,返回第一位置的结果;结果为match对象

1
2
3
4
re.search(pattern, String, flags=0)
# pattern正则表达式
# String 字符串
# flags正则表达式的控制情况
1
2
3
4
# flag常用标记
re.I # re.IGNORECASE 忽略正则表达式中的大小写
re.M # RE.MUTILINE 正则中^操作符能够将字符串的每行当作匹配开始
re.S # RE.DOTALL 正则表达式中‘.’可以表示任意单个字符,默认除换行符
1
2
match = re.search(r'[1-9]/d{5}', 'BIT 234567')
print(match.group(0))

match()

从字符串开始位置匹配正则表达式,匹配则返回match对象

1
re.match(pattern, String, flags=0)
1
2
match=re.match(r'[1-9]/d{5}', 'BIT  100085')
# 报错没有得到匹配结果

findall()

1
re.findall(pattern, string, flag=0)
1
2
LS = re.findall('[1-9]/d{5}', 'BIT 12345 BIT 23567')
>>> ['12345', '23567']

find()

返回所有匹配结果,以列表形式返回

split()

以正则表达式分割字符串,返回列表

1
2
re.split(pattern, string, maxsplit=0, flags=0)
# maxsplit最大切割数,剩下部分按整体输出

finditer()

搜索字符串,返回一个匹配结果的迭代类型;match对象

1
2
from m in re.finditer(r'[1-9]/d{5}, 'BIT100081 TSU100084'):
print(m.group(0))

sub()

替换所有匹配结果的字符串,返回替换后字符串

1
2
3
re.sub(pattern, repl, string, count=0, flags=0)
# repl 替换的字符串
# count 最大替换次数

面向对象的方法

1
2
regex = re.compile(pattern, flag=0)
rst = regex.search(String)

match对象

match对象的属性

  • String 待匹配的字符串
  • re 匹配时使用的pattern对象
  • pos 正则表达式搜索文本的开始位置
  • endpos 正则表达式搜索文本的结束位置

match对象的方法

  • group() 返回匹配的字符串
  • start() 匹配字符串的开始位置
  • end() 匹配字符串的结束位置
  • span() 返回(start(), end())

本文标题:python库-re库

文章作者:TTYONG

发布时间:2020年06月07日 - 20:06

最后更新:2022年03月06日 - 17:03

原始链接:http://tianyong.fun/python%E5%BA%93-re%E5%BA%93.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%