我对正则表达式绝对是菜鸟,需要帮助匹配这种格式的数字:
1,234,567
或
123,456
包括逗号!所以我想匹配例如:
980,232 905,903 889,614 881,145 2,343,435 3,435,123
额外说明:我正在使用 python re 模块
最佳答案
\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
关于python - 需要正则表达式帮助来匹配数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31321640/