正则表达式测试
Regular expression test
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。这个表达式出了什么问题?
如果在perl上运行类似的表达式,则返回预期的成功匹配。
w
:之前缺少一个反斜杠
'.'w+
此外,对于静态正则表达式,从不使用[new] RegExp()
语法,而是使用正则表达式文字:
var foo = /^https?:'/'/('w+'.)*youtube'.'w+/;
相关文章:
- 从 JavaScript 到 Java 的正则表达式测试
- 使用正则表达式测试字符串中的特定ASCII字符
- 如何在javascript中测试字符串是否包含带正则表达式的数字
- 正则表达式测试
- 如何简化针对多个正则表达式的字符串测试
- 针对falsy值的Javascript测试正则表达式
- 正则表达式不考虑 .在JavaScript中进行模式测试时
- 正则表达式在 Jest 测试中没有定义
- 正则表达式,用于测试字符串是否包含超过 X 个单词
- Javascript:测试单个字符在正则表达式字符串中找到
- 针对 JavaScript 中的多个正则表达式测试字符串
- 正则表达式测试算法返回 false
- jQuery 正则表达式测试在 .each 错误中
- JavaScript 正则表达式 test() 在 Jasmine 测试期间在变量中时正则表达式失败
- LxWxH 的正则表达式测试模式
- JavaScript 字符串测试与正则表达式数组
- 测试正则表达式时,将忽略 Continue 语句
- 在javascript中测试正则表达式的最大字符串长度是多少?
- 测试正则表达式的第三级斜杠
- 测试正则表达式javascript