这个还是不太明白

来源: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'(如:“我”),如下图:

https://img.mukewang.com/climg/616558ee09972ae711490360.jpg

祝学习愉快~

0

0 学习 · 2433 问题

查看课程