Re: [問題] 如何找到第一個match的字串

看板java作者 (bluemoon)時間15年前 (2009/01/03 14:44), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/4 (看更多)
※ 引述《realmojo (Big pie star *)》之銘言: : 我試你的code傳回的是第一個 而不是最後一個 : 你的mlyric跟parseLyric可以貼上來嗎? : 而且在 .* 後加 ? 沒有意義的 如果你真的要抓?這個character : 應該是 .*\? : ※ 引述《deliciouspie (bluemoon)》之銘言: : : 就是現在我要parse一個網頁的原始檔 : : 想找出裡面有關網頁連結的字串 : : Pattern regex = Pattern.compile("\"http://cache.baidu.com.*?\""); : : Matcher matcher = regex.matcher(mlyric); : : if(matcher.find()){ : : mlyric = matcher.group().toString(); : : parseLyric(mlyric); : : } : : 但是mlyric只會傳回最後一個match的網址 : : 但是我只想要抓第一個match的網址 : : 試過很多方法都不行 想請問大家不知道有什麼方法可以做到 : : 謝謝!!! mlyric 是這個網頁: http://www.baidu.com/s?wd=%90%DB%C8%E7%B3%B1%CB%AE+filetype%3Alrc private void parseLyric(String link) throws MalformedURLException{ lrc_url = new URL(link); StringBuffer sb = new StringBuffer(); try{ Scanner in = new Scanner(lrc_url.openConnection().getInputStream(), "GBK"); for(;in.hasNextLine();){ sb.append(in.nextLine()+"\n"); } mlyric = sb.toString(); LyricText.setText(mlyric); }catch(Exception e){ e.printStackTrace(); } } 另外 這個不是一般的java 是android的project 不過我想應該都一樣才對@@ 謝謝答覆 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.254.16.222 ※ 編輯: deliciouspie 來自: 122.254.16.222 (01/03 14:45)

01/03 15:05, , 1F
那個網頁我沒找到 http://cache.baidu.com.*?\ 的字串啊?
01/03 15:05, 1F

01/03 15:08, , 2F
看網頁的原始檔 有五個合乎pattern
01/03 15:08, 2F
文章代碼(AID): #19NmbFiw (java)
討論串 (同標題文章)
文章代碼(AID): #19NmbFiw (java)