正则表达式帮助需要匹配数字

时间:2015-07-09 15:16:33

标签: python regex

我是正则表达式的绝对菜鸟,需要帮助匹配这种格式的数字:

1,234,567 

123,456

包括逗号!所以我想匹配例如:

980,232  905,903  889,614  881,145  2,343,435  3,435,123

额外注意:我使用的是python re模块

3 个答案:

答案 0 :(得分:2)

\d{1,3}(?:,\d{3})*匹配正确放置的逗号(4,43,424赢得匹配)

https://regex101.com/r/kQ6fC9/3

在第一个逗号之前可以有1-3个数字,然后(,xyz)可以重复它想要的次数, - ,123,456,123,456,789也没有时间 - 只有数字13

这适用于整个(整数)数字,为了便于阅读,可以用逗号分隔。如果您还需要添加小数,则表示最后一个逗号后面的数字没有限制。 (?<=^|\s)\d{1,3}(?:,\d{3})*(?:,\d+)?(?=\s|$)应适用于任何数字,包括小数,同时避免错误的数字,https://regex101.com/r/kQ6fC9/4

答案 1 :(得分:1)

嗯,你说的条件有点模糊。如果您想匹配逗号分隔的任何数字组合,您可以使用以下模式(是的,它有点宽泛):[\d,]+

请参阅demo

答案 2 :(得分:1)

您可以使用以下正则表达式:

^(?:\d,)?\d{3},\d{3}$

请参阅演示https://regex101.com/r/yY3xR6/1

详细了解正则表达式重复http://www.regular-expressions.info/repeat.html