正则表达式有两个小数位

问题描述:

问题的十进制数:正则表达式有两个小数位

我想用在TextWatcher的正则表达式可以是保留两位小数的十进制数的报价。因为我想在TextWatcher中使用它,我还需要它来允许字符串表达式,如:

“111”。和“111”

我的解决方案:

正则表达式 - >myString.matches("^\\d+(\\.\\d{0,2})$|\\d+")

它的工作原理,但是我想知道是否有任何紧凑的表达莫过于此。

正则表达式 - >myString.matches("^\\d+(\\.\\d{0,2})$|\\d+")作品作为票价溶液

+1

使用一个可选的非捕获组 - ' “^ \\ d +(?:\\ d {0,2})$?”' –