我无法理解下面的代码:
var reg=/|/;
reg.test('ssdws');//returns true no matter what the string parameter is.
我知道结果,但为什么呢?
我无法理解下面的代码:
var reg=/|/;
reg.test('ssdws');//returns true no matter what the string parameter is.
我知道结果,但为什么呢?
/|/表示<empty string>OR <empty string>,实际上表示 的模式<empty string>。
由于在 2 个字符之间有无限多个空字符串,因此在第一个字符之前、最后一个字符之后或在空字符串中,/|/.test(input)将返回true任何字符串。
如果要匹配文字字符|,则需要对其进行转义,即/\|/. 当且仅当输入字符串中有 a时,然后/\|/.test(input)才会返回。true |
|正则表达式中的“或”的意思。所以你实际上是在说“任何事情或任何事情”
这当然意味着任何事情都会发生。