我想要一个以下值的正则表达式:
1) .1 = False.
2) 0.1 = True.
3) 1.1245 = True.
4) 1.2. = False.
5) 1.24.35 = False.
6) 21.152 = true.
此正则表达式应检查字符串是否表示整数,或者仅由数字和表示小数点的单个.
组成。
我正在使用:/^[\+\-]?\d*\.?\d+(?:[Ee][\+\-]?\d+)?$/
但"1.2."
为true
。
答案 0 :(得分:2)
答案 1 :(得分:0)
你的正则表达式似乎比它需要的更复杂。为了满足您的要求(以数字开头,以数字结尾,最多一个点),您可以使用以下内容:
(^\d+\.\d+$)|(^\d+$)
编辑: 甚至更简单:
^\d+(\.\d+)?$
答案 2 :(得分:0)
如果您使用以下正则表达式
(?:\。* d)?\ d +
它只匹配实数。
如果输入类似于1.2.3
,则会返回1.2
。
希望它有所帮助!
答案 3 :(得分:0)
你把点放在错误的地方这应该有用
[\+\-]?[0-9]+(\.[0-9]+(?:[Ee][\+\-]?[0-9]+)?)?