Javascript.test()。exec()函数的结果不一致?
JS.test()和.exec()函数产生了不一致的结果,执行后结果翻转 而.match()仍然是一致的 是因为unicode吗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.
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
标志,然后试试看。啊,我明白了,谢谢你的提示,现在问题解决了。