我无法理解下面的代码:
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
|
|
正则表达式中的“或”的意思。所以你实际上是在说“任何事情或任何事情”
这当然意味着任何事情都会发生。