re
模块中除了常用的两个函数re.match()
和re.search()
外, 还有一些其他经常用到的函数.
拆分字符串:re.split(pattern, string)
根据指定的模式去切割字符串, 返回的是是一个列表, 包含了切割到的所有字符串.
import re
s = "10.20.3.220"
r = re.split("\.", s)
print(r)
替换字符串1:re.sub(pattern, repl, string)
用repl
去替换满足模式的子字符串.
返回值就是替换后的新的字符串.
import re
s = "abc1234flll67a89"
r = re.sub("\d+", "X", s)
print(r)
替换字符串2:re.subn(pattern, repl, string)
和re.sub()
是一样的, 但是返回值是一个元组, 包含新字符串和替换的次数.
import re
s = "abc1234flll67a89"
r = re.subn("\d+", "X", s)
print(r)
找到所有匹配1: re.findall(pattern, string)
在字符串找到所有的匹配子字符串.
如果有分组, 则返回与分组匹配的字符串.
如果使用了不止一个分组, 返回的列表中, 每一项都是一个元组
import re
s = "abc1234fa67a89"
r = re.findall("\d+[a-z]+", s)
print(r)
r = re.findall("(\d+)[a-z]+", s)
print(r)
r = re.findall("(\d+)([a-z]+)", s)
print(r)
找到所有的匹配2: re.finditer(pattern, string)
与re.findall
是一样的, 只是re.finditer()
返回的是一个迭代器.