我很少使用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)