如何丢弃正则表达式组后的所有字符

How to discard all characters after regex group

我只想允许 2 位数的正双精度数。

我明白了,这是有效的,但在我成功匹配模式后,它会重新开始,而不是丢弃传入的字符。

([1-9]+[\d]*(\.|,)?[\d]{0,2})
Input

12.34  //Pass Filter  
12.340 //Rejected - Zero cannot be the first character
12.345 //Pass Filter - It pass, but it is supposed to be rejected since it has 3 decimal digits

如果不想部分匹配,可以锚定字符串,将零和逗号放在一个字符中class。

如果您想匹配 ., 零次或 1 次,您可以使用 ? 而不是 *

^[1-9]+\d*[.,]*\d{0,2}$

看到一个regex demo