Javascript 如何在字符串中查找所有正则表达式匹配项

Javascript 如何在字符串中查找所有正则表达式匹配项,javascript,regex,Javascript,Regex,这可能太简单了,在网上找不到,但我找不到答案 我得到的字符串作为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 srcst

这可能太简单了,在网上找不到,但我找不到答案

我得到的字符串作为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);

但是运气不好。

这应该可以解决您的问题:

var re=newregexp[a-z]{5,10}[0-9].png,g


g代表全局,它将匹配字符串中的所有匹配项

这将解决您的问题:

var re=newregexp[a-z]{5,10}[0-9].png,g

g代表全局,它将匹配字符串中的所有匹配项

使用“g”进行全局搜索并匹配以获取所有匹配项:-

var string=div classimage a hrefstring1.png img emic0001 he19.56mm wi69.85mm srcstring1.png由一些html div classimage a hrefstring2.png srcstring2.png div由一些html分隔许多这样的相对URL; var re=newregexp[a-z]{5,10}[0-9].png,'g'; var matches=string.matchre; forvar i=0;i.长度;我++{ 控制台。日志匹配[i]; } 使用“g”进行全局搜索和匹配以获取所有匹配项:-

var string=div classimage a hrefstring1.png img emic0001 he19.56mm wi69.85mm srcstring1.png由一些html div classimage a hrefstring2.png srcstring2.png div由一些html分隔许多这样的相对URL; var re=newregexp[a-z]{5,10}[0-9].png,'g'; var matches=string.matchre; forvar i=0;i.长度;我++{ 控制台。日志匹配[i]; } 去吧

var match = string.match(re)
而不是

var match = re.exec(string);
代码的其余部分似乎很好。

只需编写即可

var match = string.match(re)
而不是

var match = re.exec(string);

剩下的代码似乎还可以。

使用g修饰符返回数组..png可能应该是\.png。使用g修饰符返回数组..png可能应该是\.png。这是正确的答案,但请为原始海报添加一些解释。我盲目地尝试替换您建议的行,但没有成功。可能是jscript的问题。还有什么我需要改变的吗。由于这是我在基本学习后第一次接触javascript,请查看我的脚本中是否有其他错误。@Rahul使用string.matchre而不是re.execstring这给了我一个逗号分隔的字符串。但是很好。我已经有了下一个问题,即如何将所有匹配作为单个字符串。当我特别要求一个接一个地获取匹配项时,我认为这个问题BG101的答案正是我想要的。@Rahul实际上它给了你一个数组,BG101添加了一个循环来逐个显示结果。这是正确的答案,但请为原始海报添加一些解释。我盲目地尝试替换你建议的行,但没有运气。可能是jscript的问题。还有什么我需要改变的吗。由于这是我在基本学习后第一次接触javascript,请查看我的脚本中是否有其他错误。@Rahul使用string.matchre而不是re.execstring这给了我一个逗号分隔的字符串。但是很好。我已经有了下一个问题,即如何将所有匹配作为单个字符串。当我特别要求逐个获取匹配项时,我认为从这个问题来看,BG101的答案正是我想要的。@Rahul实际上它给了你一个数组,BG101添加了一个循环来逐个显示结果。这是我想要的。我试过了,但是说,你不能在2分钟内接受。等等,伙计。这是我想要的。我试过了,但说,你不能在2分钟内接受。等等,伙计。