谁能解释为什么“脚本”是输出数组的一部分以及正则表达式如何在split函数中解释?
console.log(
"is javascript my favorite language?".split(/JAVA(Script)/i)
);
输出
["is ", "script", " my favorite language?"]
答案 0 :(得分:2)
如果
separator
是包含捕获括号的正则表达式,则每次匹配separator
时,捕获括号的结果(包括任何未定义的结果)都会被拼接到输出数组中。
java
是匹配的,但未捕获,而script
是捕获在一个组中,因此它包含在结果数组中。
任何捕获的组都将包括在内,如您所见:
console.log(
"is javascript my favorite language?".split(/JAVA(Script)( )(my)/i)
)