我试图找到一个正则表达式,以逗号分隔基于south asian numbering system的大数。在
几个例子:
1,000,000
(阿拉伯语)是{1,000,000,000
(阿拉伯语)是{逗号模式每7位重复一次。例如,
1,00,00,000,00,00,000
。在
从Friedl的《掌握正则表达式》(Mastering Regular Expressions)一书中,我有以下阿拉伯语编号系统的正则表达式:
r'(?<=\d)(?=(\d{3})+(?!\d))'
对于印度数字系统,我提出了以下表达式,但它不适用于超过8位数的数字:
^{pr2}$使用上面的模式,我得到100000000,00,00,000
。在
我使用的是Pythonre
模块(re.sub()
)。有什么想法吗?在
我知道Tim已经回答了您提出的问题,但是假设您从数字而不是字符串开始,您是否考虑过是否需要正则表达式?如果您使用的机器支持印度语言环境,那么您可以使用语言环境模块:
解释器会话是从Ubuntu系统复制的,但是要知道Windows系统可能不支持合适的语言环境(至少我的系统不支持),所以虽然这在某种程度上是一个“更干净”的解决方案,但它可能是可用的,也可能是不可用的。在
试试这个:
例如:
^{pr2}$作为一个评论的regex:
相关问题 更多 >
编程相关推荐