以下是我的浏览器控制台的输出。这个正则表达式检查doubled_words,查找单词的出现(包含1个或多个字母的字符串),后跟空格后跟同一个单词。
var reg=/([A-Za-z\u00C0-\u1FFF\u2800-\uFFFD]+)\s+\1/gi;
undefined
reg.test("sdfs sdsdf")
true
reg.test("sdfs sdsdf")
false
结果是真正的交替时间,为什么这种奇怪的行为?
答案 0 :(得分:2)
这种行为是由于global
标志的使用造成的。删除它
var reg=/([A-Za-z\u00C0-\u1FFF\u2800-\uFFFD]+)\s+\1/;
使用g
会导致在对lastIndex
或test
方法的多方调用中记住正则表达式状态(exec
值)。