Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript String.match()在正则表达式后带有不确定字符_Javascript_Regex - Fatal编程技术网

Javascript String.match()在正则表达式后带有不确定字符

Javascript String.match()在正则表达式后带有不确定字符,javascript,regex,Javascript,Regex,如果我在Javascript中有如下字符串: var html = '"<div class="info" id="infobox">Average Speed: 83kph<br/><br/>Max Speed: 95kph<br/><br/>Event Started At: 42.929126, -78.834093<br/><br/>Event Last Recorded At: 42.920754, -

如果我在Javascript中有如下字符串:

var html = '"<div class="info" id="infobox">Average Speed: 83kph<br/><br/>Max Speed: 95kph<br/><br/>Event Started At: 42.929126, -78.834093<br/><br/>Event Last Recorded At: 42.920754, -78.843596<br/><br/>Event Duration: 0H, 0M, 56S <br/><br/>";
/: (.*?)</
html.split(/: (.*?)</).filter(function(x, i) { return i % 2 ; });
// ["83kph", "95kph", "42.929126, -78.834093", "42.920754, -78.843596", "0H, 0M, 56S "]
var html='“平均速度:83kph


最大速度:95kph

事件开始于:42.929126,-78.834093

上次记录的事件发生于:42.920754,-78.843596

事件持续时间:0小时,0米,56秒


我想将所有子字符串存储在“:”之后,如何使用
match()
方法?我想我想要一些正则表达式为“:%indeterminateAmountofCharacters的东西听起来你想要这样的模式:

var html = '"<div class="info" id="infobox">Average Speed: 83kph<br/><br/>Max Speed: 95kph<br/><br/>Event Started At: 42.929126, -78.834093<br/><br/>Event Last Recorded At: 42.920754, -78.843596<br/><br/>Event Duration: 0H, 0M, 56S <br/><br/>";
/: (.*?)</
html.split(/: (.*?)</).filter(function(x, i) { return i % 2 ; });
// ["83kph", "95kph", "42.929126, -78.834093", "42.920754, -78.843596", "0H, 0M, 56S "]
并且添加全局标志(
g
)将为您提供所有匹配项,但不会按组分开:

html.match(/: (.*?)</g) 
// [": 83kph<", ": 95kph<", ": 42.929126, -78.834093<", ": 42.920754, -78.843596<", ": 0H, 0M, 56S <"]
或在循环中使用:

var re = /: (.*?)</g,
    results = [],
    match;
while (match = re.exec(html)) {
    results.push(match[1]);
}
console.log(results);
// ["83kph", "95kph", "42.929126, -78.834093", "42.920754, -78.843596", "0H, 0M, 56S "]
var re=/:(.*)您可以执行全局“搜索而不替换”。不过,您必须半手动执行子组捕获

var matches = [];
html.replace(/: (.*?)</g, function () {
    matches.push(arguments[1]);
});
var匹配=[];
html.replace(/:(.*)edit:p.s.w.g击败我

这应该起作用:

:\s(.*?)<
:\s(.*)<