如何在Python中编写正则表达式以保持组内容不变?

Pen*_*nny -1 python regex

我正在尝试使用python运行正则表达式进行替换,如下所示:

a = "%I'm a sentence.|"
re.sub(r"%(.*?)\|", "<\1>", a)
Run Code Online (Sandbox Code Playgroud)

然后b = <\1>,但我想得到结果<I'm a sentences.>

我该怎么做到这一点?我试图分组I'm a sentence,但我觉得我做错了,所以结果不能保持第1组.如果您有任何想法,请告诉我.非常感谢你提前!

Bar*_*mar 5

使用原始字符串进行替换,否则\1将被解释为八进制字符代码,而不是后引用.

并将结果分配给b.

b = re.sub(r"%(.*?)\|", r"<\1>", a)
Run Code Online (Sandbox Code Playgroud)

DEMO