Python标准库之re模块

re模块用于正则表达式。

正则表达式在线测试:http://c.runoob.com/front-end/854

正则表达式元字符可以参考:https://www.w3cschool.cn/zhengzebiaodashi/regexp-metachar.html

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<province>[0-9]{4})(?P<city>[0-9]{2})(?P<year>[0-9]{4})(?P<birthday>[0-9]{4})" ,"330623197501031922")
print(x.groupdict())
#输出
{'province': '3306', 'city': '23', 'year': '1975', 'birthday': '0103'}

  

猜你喜欢

转载自www.cnblogs.com/endust/p/12314099.html