re.match() 根据正则表达式从头开始匹配字符串数据
1.search
需求:匹配出水果的个数
importre# 根据正则表达式查找数据,提示:只查找一次# 1.pattern: 正则表达式# 2.string: 要匹配的字符串match_obj = re.search("\d+","水果有20个 其中苹果10个")ifmatch_obj:# 获取匹配结果数据print(match_obj.group())else: print("匹配失败")
运行结果:
20
2.findall
需求:匹配出多种水果的个数
importreresult = re.findall("\d+","苹果10个 鸭梨5个 总共15个水果")print(result)
运行结果:
['10','5','15']
3.sub 将匹配到的数据进行替换
需求:将匹配到的评论数改成22
importre# pattern: 正则表达式# repl: 替换后的字符串# string: 要匹配的字符串# count=0 替换次数,默认全部替换 , count=1根据指定次数替换result = re.sub("\d+","22","评论数:10 赞数:20", count=1)print(result)
运行结果:
评论数:22赞数:20
需求:将匹配到的阅读数加1
importre# match_obj:该参数系统自动传入defadd(match_obj):# 获取匹配结果的数据value = match_obj.group() result = int(value) +1# 返回值必须是字符串类型returnstr(result)result = re.sub("\d+", add,"阅读数:10")print(result)
运行结果:
阅读数:11
4.split 根据匹配进行切割字符串,并返回一个列表
需求:切割字符串"貂蝉,杨玉环:西施,王昭君"
importre# 1. 正则# 2. 要匹配的字符串# maxsplit=1 分割次数, 默认全部分割result = re.split(",|:", my_str, maxsplit=1)print(result)
运行结果:
['貂蝉','杨玉环:西施,王昭君']