匹配re模块的高级用法
python中特有的正则表达式用法分别是 search、findall、sub和split
- search 从任意部位开始匹配一次并返回(加^等同于match)
search的应用示例:
import re
ret = re.search(r"\d+", "阅读次数为 9999")
print(ret.group())
结果:
9999
- findall 从任意部位开始匹配任意次,并返回一个列表,不需要group
findall的应用示例:
import re
ret = re.findall(r"\d+", "python = 9999, c = 7890, c++ = 12345")
print(ret)
结果:
['9999', '7890', '12345']
- sub 将匹配到的数据进行替换,可利用函数
sub的应用示例:
import re
def add(temp):
strNum = temp.group()
num = int(strNum) + 1
return str(num)
ret = re.sub(r"\d+",add,"python = 997")
print(ret)
结果:
python = 998
- split 根据匹配进行切割字符串,并返回一个列表
split的应用示例:
import re
ret = re.split(r":| ","info:xiaozhang 33 shandong")
print(ret)
结果:
['info', 'xiaozhang', '33', 'shandong']