我不了解Javascript Regex的行为
我使用以下代码验证文本:
let validLine = /^-*[\w\s]+:(concept|term):-?(0[.]?\d*|1)$/g
let isValid = newText
.split('\n')
.reduce((valid, line) => {
line = line.trim()
if (line === '') return valid
return valid && !!validLine.exec(line)
}, true)
但是这段代码没有按预期运行。以下是每次初始化正则表达式的地方
let isValid = newText
.split('\n')
.reduce((valid, line) => {
let validLine = /^-*[\w\s]+:(concept|term):-?(0[.]?\d*|1)$/g
line = line.trim()
if (line === '') return valid
return valid && !!validLine.exec(line)
}, true)
为什么?