我来到了我只想要[0-9或。]的场景。为此,我使用了这个正则表达式:
[0-9.]$
这个正则表达式接受0-9和。 (小数点)。但是当我写这样的东西时
1,1
它也接受逗号(,)。我怎么能避免这个?
答案 0 :(得分:1)
一旦你想要一种解析数字的方法(你说点是小数),也许你不希望你的字符串以点开头,不以它结尾,并且必须只接受一个点。如果是这种情况,请尝试使用:
^(\d+\.?\d+|\d)$
其中:
\d+
代表任何数字(一个或多个)\.?
代表零或一个字面点\d
代表任何数字(只有一个)您可以看到它有效here
或者您可能希望接受以点开头的字符串,通常被0
视为整数部分,在这种情况下,您可以使用^\d*\.?\d+$
。
答案 1 :(得分:1)
此正则表达式[0-9.]$
由与行$
末尾的数字或点匹配的字符类组成。
如果你只想匹配一个数字或一个点,你可以添加^
来断言一行开头的位置:
如果您想匹配一个或多个数字,可以使用一个点和一个或多个数字:
答案 2 :(得分:0)
这个正则表达式可以帮助你:
/[0-9.]+/g
接受0到9位数和点(。)。
<强>解释强>
匹配[0-9.]+
+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)
0-9
0(索引48)和9(索引57)范围内的单个字符(区分大小写)
.
匹配该角色。从字面上看(区分大小写)
您可以对其进行测试here