Skip to main content
 首页 » 编程设计

python之带否定的 re.sub 的语法

2025年05月04日22飞鱼

我想使用 re.sub 通过取反将“1213”更改为“1x13”。语法应该更改 1 后面的任何字符,但前提是该字符不是 3。

我能得到的最佳输出是 1x213。但是那个 2 仍然存在。

FWIW,我得到了:

print(re.sub(r'1(?!3)', '1x', '1213'))  

什么是正确的语法?

请您参考如下方法:

我相信你只是想要:

print(re.sub(r'1[^3]', '1x', '1213')) 

模式 1[^3] 匹配任何 1 后跟括号中的字符类,其中 ^ 只是意味着它是一个否定的类。