werid regexp总是返回

时间:2018-01-19 05:01:30

标签: javascript regex

我遇到了一个奇怪的正则表达式如下:

var a=/abc|/

在使用其他字符串进行测试时始终返回true。

a.test('ddd')
result: true

我无法理解这是怎么发生的。因为在垂直条之后,什么都没有。

任何解释将不胜感激!非常感谢!

1 个答案:

答案 0 :(得分:1)

在正则表达式中,管道符|代表OR运算符。例如,正则表达式/abc|123/将匹配字符串abc123。因此,正则表达式/abc|/将匹配abc nothing ,因为在OR运算符之后没有任何内容可以匹配。每个其他字符串都匹配 nothing ,包括ddd