我想知道 re.sub() 是如何工作的。以下示例在我正在阅读的一本书中。
我希望“1234567890”为“1,234,567,890”。
pattern = re.compile(r"\d{1,3}(?=(\d{3})+(?!\d))")
pattern.sub(r"\g<0>,", "1234567890")
"1,234,567,890"
然后,我将“\g<0>”更改为“\g<1>”,但它不起作用。结果是“890,890,890,890”。为什么?我想确切地知道 re.sub() 和前瞻机制的捕获和替换是如何工作的。