这可能太简单了,无法在网上找到,但我找到答案时遇到了问题。
我得到字符串作为http响应文本,其中包含我想逐个抓取的子字符串以进一步处理。它的相对URL。
例如:
var string = "div classimage a hrefstring1.png img idEMIC00001 he19.56mm wi69.85mm srcstring1.png separated by some html div classimage a hrefstring2.png srcstring2.png div separated by some html many such relative urls";
var re = new RegExp("[a-z]{5,10}[0-9].png");
var match = re.exec(string)
WScript.Echo (match);
这给了第一场比赛。我希望逐个获得所有收藏品。我正在使用Jscript。我是javascript的新手。
在答案之后我尝试了这个。
var string = "div classimage a hrefstring1.png img idEMIC00001 he19.56mm wi69.85mm srcstring1.png separated by some html div classimage a hrefstring2.png srcstring2.png div separated by some html many such relative urls";
var re = new RegExp("[a-z]{5,10}[0-9].png", "g");
var match = re.exec(string)
WScript.Echo (match);
但没有运气。
答案 0 :(得分:5)
使用'g'
进行全局搜索,使用match
进行所有匹配: -
var string = "div classimage a hrefstring1.png img idEMIC00001 he19.56mm wi69.85mm srcstring1.png separated by some html div classimage a hrefstring2.png srcstring2.png div separated by some html many such relative urls";
var re = new RegExp("[a-z]{5,10}[0-9].png", 'g');
var matches = string.match(re);
for(var i = 0; i < matches.length; i++){
console.log(matches[i]);
}
答案 1 :(得分:3)
这可以解决您的问题:
var re = new RegExp("[a-z]{5,10}[0-9].png", "g");
&#34; g&#34;代表全局,它匹配字符串中出现的所有内容
答案 2 :(得分:1)
只是做到了
var match = string.match(re)
而不是
var match = re.exec(string);
其余的代码似乎没问题。