java脚本regex.match只查找一个结果
java script regex .match find only one result
我有这个js代码:
result = subject.match(/<a.*class="gallery_browser_thumbnail".*href="(.+)">/i);
我想获取html源上多个a标记的href但它只显示1个结果
如果我在模式末尾使用/g,它会返回整个模式,但我只想要href部分我的意思是->(.+)这个部分
这就是我捕获html输入的方式:
var subject = String(document
.getElementsByTagName("body")[0].innerHTML);
有什么帮助吗?
最终工作脚本:
var subject = String(document.getElementsByTagName("body")[0].innerHTML);
var regex = /<a.*class="gallery_browser_thumbnail".*href="(.+)">/gi;
var matched = null;
while (matched = regex.exec(subject)) {
alert(matched[1]);
}
通过添加惰性量词?
:更改为惰性匹配
result = subject.match(/<a.*?class="gallery_browser_thumbnail".*?href="(.+?)">/i);
您可以使用exec测试RegExp。类似这样的东西:
var subject = String(document.getElementsByTagName("body")[0].innerHTML),
regexp = /<a.*class="gallery_browser_thumbnail".*href="(.+)">/gi, //g for global match
match = regexp.exec(subject),
result = [];
while(match != null){
result.push(match[1]); // the second value is matched group
match = regexp.exec(subject);
}
相关文章:
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 使用NextToken使用javascript aws-sdk解析下一个结果
- Angular.forEach 只返回一个结果
- 谷歌地图商店定位器只返回一个结果
- .each() 函数只输出数组中的最后一个结果
- 如何通过PHP或JavaScript将整个DIV数据发送到下一个结果页面
- 将一个结果集除以另一个结果集,然后显示答案
- foreach 只产生一个结果
- 查找主干集合上的位置仅返回一个结果
- 插入数据库时如何从数据库中检索最后一个结果
- 在 JavaScript 中添加表值会在 NaN 的表单元格中给我一个结果
- 如何将一个结果列表合并到一个包含汇总的压缩对象中
- java脚本regex.match只查找一个结果
- 输出一个结果数组,其中包含给定数组的唯一元素的分组计数
- 从XML文件中隔离一个结果
- 骨干收集发现我只想要一个结果
- 我需要用AJAX Post声明一个结果类型吗
- 在另一个结果中的单选按钮
- 我试图从一个函数内的函数返回一个结果
- 在Javascript页面中搜索-一个结果错误