我需要使用特定掩码格式化数字:9.9.9.9.99.999,具体取决于数字字符串的长度。
例如:
- 123456789 => 1.2.3.4.56.789
- 123456 => 1.2.3.4.56
- 1234 => 1.2.3.4
- 123 => 1.2.3
- 12 => 1.2
输入中不会出现7位或8位的数字串。
如何使用正则表达式(最好是 python)来实现?
提前致谢。
最佳答案
你可以使用这个模式:
(?:(?<=^\d)|(?<=^\d{2})|(?<=^\d{3})|(?<=^\d{4})|(?<=^\d{6}))(?=\d)
用 .
作为替换。
例子:
re.sub(r'(?:(?<=^\d)|(?<=^\d{2})|(?<=^\d{3})|(?<=^\d{4})|(?<=^\d{6}))(?=\d)', '.', yourstr)
关于python - 使用特定掩码正则表达式 python 格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031668/