我很少使用 Regex,我已经在 regex101.com 上使用它了
但我尝试使用它,它说它不受 JS 支持,这就是我所拥有的
/(?<=[\]|>])(.*?)(?=$|\n)/g
https://regex101.com/r/sxUoDr/1
我如何替换后面的外观才能正常工作?
这是我要解析的数据:
<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s
我在努力抽离时间
最佳答案
在 javascript 中没有回头看,但如果你想“提取”所有数据,你可以使用 RegExp#exec
:
const data = `<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s`
const getData = data => {
const regex = /[ >\]]\s*(.*)/g
const found = []
let temp
while(temp = regex.exec(data)){
if (temp[1]) found.push(temp[1])
}
return found
}
console.log(getData(data))
如果你想替换它,你只需要添加额外选择的字符:
const data = `<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s`.replace(/([ >\]])\s*(.*)/g, '$1 found [$2]')
console.log(data)
关于javascript - 如何在不使用不支持的后视的情况下编写此正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42641915/