如何格式化Python正则表达式,使其在前两个字符后添加空格,然后在每组三个字符后添加空格?
我想把一个数字字符串,比如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