先看下面这段代码:
// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
// false
alert(regex.test("2012-12-12 12:12:12"));
解决方式挺简单:每次都让test从第0个位置开始匹配就可以了:
// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
regex.lastIndex = 0;
// true
alert(regex.test("2012-12-12 12:12:12"));
本文探讨了使用正则表达式进行多次匹配时出现的问题,特别是关于如何每次都能从字符串的起始位置重新开始匹配。文章通过实例展示了不重置匹配位置导致的问题,并给出了解决方案。
1002

被折叠的 条评论
为什么被折叠?



