Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式:在Javascript中匹配小数(对于非字符串变量)_Javascript_Regex - Fatal编程技术网

正则表达式:在Javascript中匹配小数(对于非字符串变量)

正则表达式:在Javascript中匹配小数(对于非字符串变量),javascript,regex,Javascript,Regex,我正在尝试匹配字符串和浮点数的小数。注意,下面的正则表达式匹配以句点(.)结尾的浮动,这是不期望的 const regex=RegExp(“^(\\d*\\)?\\d+$”; arrTest=[“3.”,3.,“4.”,4.,“5.5”,5.5]; arrTest.forEach(元素=>{ 控制台日志(正则表达式测试(元素)) }); /* 结果 ======= “3”-错 3. - True(应为false,因为正则表达式应以数字结尾) “4。”-错 4. - True(应为fal

我正在尝试匹配字符串和浮点数的小数。注意,下面的正则表达式匹配以句点(.)结尾的浮动,这是不期望的

const regex=RegExp(“^(\\d*\\)?\\d+$”;
arrTest=[“3.”,3.,“4.”,4.,“5.5”,5.5];
arrTest.forEach(元素=>{
控制台日志(正则表达式测试(元素))
});
/*
结果
=======
“3”-错
3.   - True(应为false,因为正则表达式应以数字结尾)
“4。”-错
4.   - True(应为false,因为正则表达式应以数字结尾)
“5.5”-正确
5.5-正确

*/
3.
3


RegExp模式匹配使用字符串。您传递的任何内容都将首先转换为字符串。您不能在JavaScript代码中写入
3.
,也不能将其计算为数字
3
,因此在转换为字符串时变成
“3”

\\d*\.
-您允许在点之前有任意数量的数字,不包括任何数字。只需对一个或多个使用
+
,并使点和其余数字可选。
3。
计算为
“3”
,它与您的正则表达式匹配。这是否回答了您的问题?还可以查看浮点数的正则表达式。将
console.log(regex.test(element))
更改为
console.log(element+”:“+regex.test(element))
,并分析输出。