RegExp.match中使用RegExp对象的行为不一致

时间:2010-05-08 19:13:19

标签: javascript regex

我在使用RegExp对象创建的regexp中检测到一个奇怪的行为:

使用此代码:

var exp1 = /./;
var exp2 = new RegExp('.');
​
var test1 = exp1.test('large\n\ntext..etc.');
var test2 = exp2.test('large\n\ntext..etc.');
​
var match1 = 'large\n\ntext..etc.'.match(exp1);
var match2 = 'large\n\ntext..etc.'.match(exp2);

......结果是:

test1 = true
test2 = true
​
match1 = 'l' (first match)
match2 = null

使用正则表达式从字符串中获取regexp对象时,它什么都没找到......

为什么会这样?

谢谢!

编辑:我在Mozilla Firefox 3.5中尝试过,我没有在其他浏览器中试过......

1 个答案:

答案 0 :(得分:1)

在Firefox 3.5.9中为我工作。 test1test2都是truematch1match2都是['l']