用于仅验证数字和点的正则表达式
我想要一个只接受数字和点的java正则表达式。
例如
1.1.1 ----valid
1.1 ----valid
1.1.1.1---valid
1. ----not valid
这些点不应位于起始位置或结束位置。
我想要一个只接受数字和点的java正则表达式。
例如
1.1.1 ----valid
1.1 ----valid
1.1.1.1---valid
1. ----not valid
这些点不应位于起始位置或结束位置。
我想这就是你想要的:
^\d+(\.\d+)*$
解释:它接受用点分隔的数字;它以数字开头和结尾;一个数字可以有多个数字;一个没有点的数字也被接受。
不带多个数字的变体:
^\d(\.\d)*$
至少需要一个点的变体:
^\d+(\.\d+)+$
^\d(\.\d)+$
不要忘记,在Java中,您必须转义\符号,因此代码将如下所示:
Pattern NUMBERS_WITH_DOTS = Pattern.compile("^\\d+(\\.\\d+)*$");
所以你想要一个想要数字和句点的正则表达式,但以数字开头和结尾?
"[0-9][0-9.]*[0-9]"
但这不会与这样的事情相匹配。它没有任何句点,但以数字开头和结尾。1