我遇到了一个奇怪的正则表达式如下:
var a=/abc|/
在使用其他字符串进行测试时始终返回true。
a.test('ddd')
result: true
我无法理解这是怎么发生的。因为在垂直条之后,什么都没有。
任何解释将不胜感激!非常感谢!
答案 0 :(得分:1)
在正则表达式中,管道符|
代表OR运算符。例如,正则表达式/abc|123/
将匹配字符串abc
或123
。因此,正则表达式/abc|/
将匹配abc
和 nothing ,因为在OR运算符之后没有任何内容可以匹配。每个其他字符串都匹配 nothing ,包括ddd
。