小编Dar*_*win的帖子

即使使用非捕获组,Python re.sub()也将替换完全匹配项

我相信re.sub()会替换完全匹配项,但是在这种情况下,我只想替换匹配的组,而忽略非捕获组。我该怎么办?

string = 'aBCDeFGH'

print(re.sub('(a)?(?:[A-Z]{3})(e)?(?:[A-Z]{3})', '+', string))
Run Code Online (Sandbox Code Playgroud)

输出是:

+
Run Code Online (Sandbox Code Playgroud)

预期输出为:

+BCD+FGH
Run Code Online (Sandbox Code Playgroud)

python regex

7
推荐指数
1
解决办法
1515
查看次数

标签 统计

python ×1

regex ×1