我经历了很多线程,并且给定问题有很多答案。但有些我怎么也无法弄清楚我做错了什么。 我的要求是在小数点后不匹配多于1的数字 并且还应丢弃非十进制数字。 例如
有效
1.1
12.1
1234.1
123456.0
.1
无效
.12
123
123.12
我写的是^([0-9]?\.?)+\.?[0-9]{1}$
当我尝试匹配11.123
或123
时,我得到一个匹配项。我做错了什么?
答案 0 :(得分:1)
此正则表达式适用于您的用例:^\d*\.\d$
从字符串开头^\d*
匹配所有数字(*
运算符停留为零或更多),然后使用.
转义\.
,最后只匹配\d$
如果在字符串结尾之前有一个字符
答案 1 :(得分:0)
这个应该做的:
^[0-9]+(\.[0-9])?$