我观察到以下结果:
我希望测试1和2都返回["ab"],这是因为“最左最长”的原则。我不明白为什么正则表达式中2个选项的顺序会改变结果。
// Test 1:
var re = /a|ab/;
"ab".match(re); // returns ["a"] <--- Unexpected
// Test 2:
re = /ab|a/;
"ab".match(re); // returns ["ab"]
我希望测试1和2都返回["ab"],这是因为“最左最长”的原则。我不明白为什么正则表达式中2个选项的顺序会改变结果。