这可能是一个愚蠢的问题,但我是RegExes的新手。 在我的python程序中,我需要一个RegEx模式的价格。
示例案例:
8.00
25.14
271.61
2,367.82
52,124.09
9,37,159.82
任何帮助将不胜感激。在此先感谢。
答案 0 :(得分:2)
这个匹配以上所有内容:
(\d{1,3},?)*\d{1,3}\.\d{2}
答案 1 :(得分:0)
您正在尝试匹配根据Indian numbering system规则格式化的数字。为了正确地做到这一点,你必须仔细定义你想要作为匹配的东西。例如,100,10,100.00
之类的字符串会构成匹配吗?您可以在此示例中找到格式有效的数字,即10,100.00
,但我认为出于您的目的,示例中的字符串不应匹配。我对测试进行了详细阐述,并提出了这个测试套件:
# match
8.00
25.14
271.61
2,367.82
52,124.09
9,37,159.82
# don't match
9,378,159.82
9,37,159.820
12,.80
12,12
12.,12
12,12.80
10,80
.80
80,
遵循正则表达式成功通过了这些测试。
(?<![\d,])((\d{1,2},)*\d{3}|(\d{1,3}))\.\d{2}(?!\d)