【发布时间】:2021-09-06 10:30:47
【问题描述】:
如何仅使用反斜杠转义尚未转义的字符? 就像我有字符串
@gmail\.com\> \@hotmail.com test1[ test2\[
所需的输出是:
\@gmail\.com\> \@hotmail.com test1\[ test2\[
我的意思只是没有逃脱 @ 和 [ 被逃脱了。
试过
re.sub(r'(?<!\\\\)(?<!\\\\)([@*])' , r'\\\1','@g*mail\.com\>\@')
'\\@g\\*mail\\.com\\>\\\\@'
但是要得到@和*的反斜杠。
【问题讨论】:
-
通常你不需要在 python 中转义 @ 或 [。我想你有这样做的理由吗?
-
是的。我有一些字符列表,出于特定原因必须对其进行转义。
-
也许你需要使用 .replace() 方法?
-
如果它不存在,我必须添加反斜杠。我的意思是将 \ 添加到 @,而不是添加到 \@。
标签: python-3.x regex