Javascript.test()。exec()函数的结果不一致?

Javascript.test()。exec()函数的结果不一致?,javascript,node.js,regex,Javascript,Node.js,Regex,JS.test()和.exec()函数产生了不一致的结果,执行后结果翻转 而.match()仍然是一致的 是因为unicode吗 const REGEX=/@([+]?[a-z]+)\u00AD/gm; 常量文本=`@test­`; console.log(“----------------------------------------------------------------”) console.log(`REGEX.test(text)${REGEX}${text}${REGEX.

JS.test()和.exec()函数产生了不一致的结果,执行后结果翻转

而.match()仍然是一致的

是因为unicode吗

const REGEX=/@([+]?[a-z]+)\u00AD/gm;
常量文本=`@test­`;
console.log(“----------------------------------------------------------------”)
console.log(`REGEX.test(text)${REGEX}${text}${REGEX.test(text)}`)
console.log(`REGEX.test(text)${REGEX}${text}${REGEX.test(text)}`)
console.log(`REGEX.test(text)${REGEX}${text}${REGEX.test(text)}`)
console.log(`REGEX.test(text)${REGEX}${text}${REGEX.test(text)}`)
console.log(“----------------------------------------------------------------”)
log(`REGEX.exec(text)${REGEX}${text}`,REGEX.exec(text))
log(`REGEX.exec(text)${REGEX}${text}`,REGEX.exec(text))
log(`REGEX.exec(text)${REGEX}${text}`,REGEX.exec(text))
log(`REGEX.exec(text)${REGEX}${text}`,REGEX.exec(text))
console.log(“----------------------------------------------------------------”)
console.log(`text.match(REGEX)${REGEX}${text}`,text.match(REGEX))
console.log(`text.match(REGEX)${REGEX}${text}`,text.match(REGEX))
console.log(`text.match(REGEX)${REGEX}${text}`,text.match(REGEX))

console.log(`text.match(REGEX)${REGEX}${text}`,text.match(REGEX))
提示:
/g
做什么?在REGEX上重复调用
.exec()
标记,通过字符串查找其他匹配项
.test()
不会这样做。去掉
g
标志,然后试试看。啊,我明白了,谢谢你的提示,现在问题解决了。