这个还是不太明白
来源:6-10 【总结】Python常见正则匹配案例
若羲
2021-10-12 17:20:02
#将字符串变成 '我要学Python编程'
s = "我我...我我...我要..要要...要要...学学学...学学..Python...编编编..编程..程.程...程...程"
res = re.sub(r'\W+','',s) #提取非数字字符下划线的内容,即去掉…符号
print(res)
ret = re.sub(r'(.)\1+',r'\1',res) #TODO:不太理解这句话什么意思?
print(ret)
1回答
好帮手慕凡
2021-10-12
同学,你好!
1、“.” :"."可以匹配任何字符(\n除外)
2、(.)\1+:\1是反向引用,1是分组编号,指第一个括号的分组为1,\1引用的是第一个括号(分组)中匹配成功后的内容,r'(.)\1+'将第一组中"."匹配的内容匹配多次(如:“我我我我我”),r'\1'将第一组中匹配的内容匹配一次(如:“我”);
3、 re.sub(r'(.)\1+',r'\1',res):将r'(.)\1+'匹配到的内容(如:“我我我我我”)替换为r'\1'(如:“我”),如下图:

祝学习愉快~
相似问题
回答 1
回答 1