re模块用于正则表达式。
re.match()
从字符串开头往后匹配。
import re
x = re.match(r"asdjakd\d{4}","asdjakd1231")
print(x.group())
#输出
asdjakd1231
re.search()
只会搜索一个结果。
import re
x = re.search("\d{4}","1a23sd1231jakd1231")
print(x.group())
#输出
1231
re.findall()
import re
x = re.findall("\d{4}","1a23sd1231jakd1231")
print(x)
#输出
['1231', '1231']
re.split()
分割字符。
import re
x = re.split("\d","abc1sdas2xxx")
print(x)
#输出
['abc', 'sdas', 'xxx']
re.sub()
替换字符
import re
x = re.sub("\d","|","abc1sdas2xxx")
print(x)
#输出
abc|sdas|xxx
如果想只替换一次。
import re
x = re.sub("\d","|","abc1sdas2xxx",count=1)
print(x)
#输出
abc|sdas2xxx
匹配模式
re.I(re.IGNORECASE): 忽略大小写
re.M(MULTILINE): 多行模式
re.S(DOTALL): 点任意匹配模式,可以匹配\n
分组匹配成字典
import re
x = re.search("(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{4})(?P[0-9]{4})" ,"330623197501031922")
print(x.groupdict())
#输出
{'province': '3306', 'city': '23', 'year': '1975', 'birthday': '0103'}