如何格式化Python正则表达式,使其在前两个字符后添加空格,然后在每组三个字符后添加空格?

0 投票
1 回答
32 浏览
提问于 2025-04-14 15:59

我想把一个数字字符串,比如11084556888,格式化成11 084 556 888,使用正则表达式和re.sub。到目前为止,我用的正则表达式是(.{3})(?!$),替换成"\\1 ",结果变成了110 845 568 88。

尝试过的内容:
"pat": "(.{3})(?!$)",
"repl": "\\1 "

结果是:110 845 568 88

期望的结果是:11 084 556 888

1 个回答

0

试着把这个字符串反转一下:

import re

s = "11084556888"

s = re.sub(r".{3}", r"\g<0> ", s[::-1])[::-1]
print(s)

输出结果是:

11 084 556 888

撰写回答