簡體   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