python - 使用特定掩码正则表达式 python 格式化数字

标签 python regex format string-formatting mask

我需要使用特定掩码格式化数字: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/

相关文章:

iphone - ios sdk版本格式

ios - 仅传递一个必需参数时保留字符串格式

python - 计时器的 Tkinter 代码使应用程序崩溃(python)

python - IBoutlet 与 PyObjC 和 Interface Builder

python - 正则表达式 – re.sub 解释

sql - 正则表达式 - 如果位于 x.x.x 的第二个位置,则仅包含 0

python - Django DATETIME_FORMAT 特定日期不正确(一年)

python - 构造类对象后执行代码

regex - sed:这个替换命令有什么问题?

java - 命令 APDU 在结果中返回 6985(不满足使用条件)