我经历了很多线程,并且给出的问题有很多答案。但有些时候我无法弄清楚我做错了什么。 我的要求是在小数点后不匹配多个数字 并且还应丢弃非十进制数。 如正则表达式限制2位小数
有效
1.1
12.1
1234.1
123456.0
.1
无效
.12
123
123.12
我写的是什么^([0-9]?\.?)+\.?[0-9]{1}$
当我尝试匹配11.123
或123
II获得匹配。我究竟做错了什么?
我经历了很多线程,并且给出的问题有很多答案。但有些时候我无法弄清楚我做错了什么。 我的要求是在小数点后不匹配多个数字 并且还应丢弃非十进制数。 如正则表达式限制2位小数
有效
1.1
12.1
1234.1
123456.0
.1
无效
.12
123
123.12
我写的是什么^([0-9]?\.?)+\.?[0-9]{1}$
当我尝试匹配11.123
或123
II获得匹配。我究竟做错了什么?
此正则表达式适用于你的使用情况:^\d*\.\d$
那里从字符串的开始所有的数字(*
运营费的零个或多个)^\d*
比赛,然后逃逸.
与\.
最后\d$
只匹配,如果有一个字符在字符串结束之前
这一个应该做的:
^[0-9]+(\.[0-9])?$
在这个正则表达式.1失败,我的意思是没有数字前十进制和小数应该通过。 – pankaj
@sameer纠正,我错误地使用'+'而不是'*'。现在它匹配有效区块内的所有值,并且不匹配所有其他 – Tinwor
作品像魅力 – pankaj