为什么我的正则表达式长度为2?

时间:2011-11-30 18:09:06

标签: javascript regex

我写了这个正则表达式的想法是它将完整匹配任何字符串并简单地返回整个字符串作为结果。

包含胡萝卜的字符类[^]要求所有以任何字符开头的字符匹配,不包括任何内容。 *说让这种情况发生了很多次。

但是,我的结果与完整字符串匹配两次。我期待一场比赛。有什么问题?

var regex = /([^]*)/;
var someString = "blahdy blah blah";
var result;

result = regex.exec(someString);
//why does this have a length of 2?  I expect only 1 containing the entire string
console.log(result.length);
console.log(result);

fiddle

1 个答案:

答案 0 :(得分:2)

你正在捕获(模式中的()),这意味着正则表达式调用将返回捕获的数据(整个字符串),以及导致正则表达式匹配的整个字符串(再次,整个字符串)。