最大长度为16的整数/十进制数的正则表达式是什么(包括一个逗号*)?
有效示例
12345689012345,
0,12345678901234
123,123
123456789,012345
1,
无效的例子
,1
,123467890123456
123,,123
1,1,
*逗号作为小数点
我尝试过使用这个[0-9] {1,16},[0-9] {1,16}?
但是,它并没有将数字的总长度限制为16,并且长度为32.
我也试过这个([0-9] +([,] [0-9] +?)?){0,15}
这个问题是它不限制数字,只允许这种格式数字,数字(例如123,123)
答案 0 :(得分:3)
您可以使用负面预测来消除多个逗号和锚点:
^(?!.*,.*,)(\d[\d,]{0,15})$
^ ^ anchors
^^^^^^^^^^^^^^ start with a digit then digits and comma up to 1+15
^^^^^^ UNLESS there is more than one comma