不带小数点的千分隔符的正则表达式

Regular expression for thousand separator without decimal point

本文关键字:分隔符 正则表达式 小数点      更新时间:2023-09-26

我有一个正则表达式,它可以很好地处理小数。在下面的表达式中,我想删除十进制匹配以验证Integer

^-?('d*)(,'d{1,3})*(?:[,]|([.]'d{0,2}))?$

有效匹配:1000&111,&amp-1000,00

无效匹配:-,1&1、、、

使用

^-?(?:'d{1,3}(?:,'d{3})*|'d+)?,?$
    |---1---|
             |---2-----|
                        |-3-|

^断言字符串开始处的位置,$断言字符串结束处的位置。CCD_ 3与可选的CCD_。第1部分匹配1到3个数字,第2部分匹配后面跟着3个数字的,的0+序列,第3部分是第1&2组合,只匹配1+位数字。整数模式是可选的,因为(?:...|...)是用?-一次或零次出现量化的。

$之前的,?允许在末尾使用可选逗号,如果不需要,请删除(您在注释中提到需要允许100,)。

请参阅regex演示