我很少使用正则表达式,我已经将它用于regex101.com
但是我尝试使用它并且它说JS不支持这就是我所拥有的
/(?<=[\]|>])(.*?)(?=$|\n)/g
https://regex101.com/r/sxUoDr/1
如何替换背后的外观以便它能正常工作?
这是我要解析的数据:
<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s
我正试图抽出时间
答案 0 :(得分:0)
在javascript中没有看后面但是如果你想要提取&#39;您可以使用的所有数据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))
&#13;
如果你想要替换它,你只需要添加额外选择的字符:
const data = `<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s`.replace(/([ >\]])\s*(.*)/g, '$1 found [$2]')
console.log(data)
&#13;
答案 1 :(得分:0)
如果不使用后面的,可以使用$("input:reset").on("click", function() {
this.form.reset();
$('#myCoolForm').attr('disabled', false);
$('#save').attr('disabled', false);
});
来获取结果。正则表达式演示:https://regex101.com/r/zbvmfp/1
JavaScript演示
.*\W(\w+)(?:\n|$)
答案 2 :(得分:0)
我认为它写得不比这简单......
var rgx = /\d+[ms]/g; // capture 1 or more digits followed by m or s
var str = `<100>11m
[RIP]25s
[RIP] 2m
[RIP] 7m
[RIP] 1m
[RIP]12s`;
var res;
while(res=rgx.exec(str)){
console.log(res[0]);
}
答案 3 :(得分:-1)