我相信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)