python re.sub() 出现错误: bad escape \U at position xxx

re.sub(pattern, repl, string, count=0, flags=0) 会对 repl 内的反斜杠进行转义,这是一个容易被忽略、值得注意的问题

如果我们处理的是代码字符串,就会导致问题出现,

解决方法:

改为用python的字符串处理函数replace,如果是循环替换,需要加上max=1值.

附:

Python中的replace()方法是把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换次数不超过max次(将旧的字符串用心的字符串替换不超过max次)。

语法

replace()方法的语法解释:
str.replace(old, new[, max])
参数

old:将要被我们替换的旧的字符串
new:新字符串,用来替换旧的字符串(替换一次或者多次old)
max:用来替换的次数,这里有两种:(1)当不将max参数传入时,默认将所有old字符或者字符串替换为new字符或者字符串;(2)当我们将max参数传入后,则将旧字符串替换为新字符串不超过max次,多余的则不进行替换
返回值

返回值:返回的字符串中的old(旧字符串)替换为new字符串后生成的心的字符串,如果指定第三个参数max,则替换次数不超过max次。