[英]regular expression; how to get all matches?
我正在浏览网站的源代码,并且想要查找该网站上所有视频的ID:
Pattern p = Pattern.compile("(video_meta-[[a-z][0-9]]{32})");
Matcher m = p.matcher(source_code_string);
while (m.find()) {
video_id_string = m.group(0);
}
但是我只得到了最后一场可能的比赛...如何获得之前的所有比赛?
您的while
循环正在覆盖video_id_string
。 循环后的值将是分配给它的最后一件事。
如果要收集所有匹配项,请考虑使用List
。
我将在这里选择显而易见的一个。 您尚未表明已从示例中删除了任何代码,因此我们可以假定此while循环已完成吗? 如果是这样,它将仅在遍历所有匹配项后退出循环,而将最后一个匹配项保留在video_id_string中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.