Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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,/[^01235689]/.test(+n)与54匹配,我不确定原因。能否以更好的方式重新编写 var n=54; console.log(/[^01235689]/.test(+n))正则表达式表示“匹配任何不是这些数字之一的内容”。4不是这些数字之一,因此字符串匹配。如果您想让它显示“匹配任何不包含这些数字的内容”,则需要测试每个字符从头到尾是否匹配该模式: /^[^01235689]*$/.test(+n); (这意味着“匹配任何以不在此集合中的任意数量的字符开头,然后以任意数量的字符

/[^01235689]/.test(+n)
54
匹配,我不确定原因。能否以更好的方式重新编写

var n=54;
console.log(/[^01235689]/.test(+n))正则表达式表示“匹配任何不是这些数字之一的内容”。4不是这些数字之一,因此字符串匹配。如果您想让它显示“匹配任何不包含这些数字的内容”,则需要测试每个字符从头到尾是否匹配该模式:

/^[^01235689]*$/.test(+n);

(这意味着“匹配任何以不在此集合中的任意数量的字符开头,然后以任意数量的字符结尾的字符”。

因为它匹配4。看@Thefourthbird是你的把柄只是巧合吗?:)如果你能解释一下你认为正则表达式应该做什么以及为什么要这样做,它将帮助人们提供一个有效的解释。你可以看到他们解析并向你解释你实际上在写什么。@他在你的名字中指的第四只鸟是
第四只
,在模式中指的是
4
:pMakes total sense,很抱歉发帖太急。谢谢