繁体   English   中英

正则表达式; 如何获得所有比赛?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM