javascript中的这个正则表达式
var foo = RegExp("^https?:\/\/(\w+\.)*youtube\.([a-zA-Z0-9])+");
将匹配字符串,如:[以下语句返回 true]
foo.test("http://www.youtube.com");
foo.test("https://www.youtube.com");
foo.test("http://youtube.com");
但是如果表达式是,同样的测试会失败:
var foo_fail = RegExp("^https?:\/\/(\w+\.)*youtube\.\w+");
这个 RegExp 应该通过了上述测试,但我看到: foo_fail.test("http://www.youtube.com"); 在 chrome/firebug 控制台上返回 false。这应该返回 true。这个表达式有什么问题?
类似的表达式 if run on perl 返回预期的成功匹配。