这是因为re库更新了,
原来的re库,要匹配多个非目标字符需要加上多个^
符号,但现在,将不想匹配的字符写在一个^
后面即可,不用加多个^
符号。
import re
s = '我吃饱了^^^你呢'
re.sub('[^\u4e00-\u9fa5^a-z]', '', s) # 不想匹配中文和小写英文,故有两个 ^ 符号
# 输出:我吃饱了^^^你呢
# 修正后
re.sub('[^\u4e00-\u9fa5a-z]', '', s) # 去掉第二个 ^ 符号
# 输出:我吃饱了你呢