2013-02-19 49 views
0

我有一個非常簡單的問題,但我是Java Matcher的新手,我很難弄清楚如何將它用於我的特定問題。使用Matcher和Regex進行Java解析

我有一個字符串,它是像this <not needed content>src="url"<not needed content>src="url2"<not needed content>

凡<「不需要的內容」>是我想在我的字符串忽略的東西。我基本上想要從字符串中提取URL。

我的代碼目前看起來像這樣

Pattern MY_PATTERN = Pattern.compile("\\src=\"(.*?)\\\""); 
Matcher m = MY_PATTERN.matcher(content); 
String s = "something"; 
while (m.find()) { 
    s = m.group(1); 
} 

我這樣的基本的,並可能重複的問題表示歉意。

謝謝。

+0

我可以使用HTML解析器,但這不是一個完整的HTML頁面,這是RSS feed的一小部分,我希望能解析出任何幻想。 – AlexIIP 2013-02-19 08:19:34

+2

你的Pattern'「\\ src'開頭的意思是一個空白後跟'rc'。這永遠不會匹配'src',因爲's'不是空格。 – jlordo 2013-02-19 08:22:29

回答

2

你爲什麼不試試更簡單的模式?像這樣的:

Pattern.compile("src=\"(.*?)\""); 

(未測試,但應該會更好)

+0

哇....完美的作品,我不能我相信我很努力,儘快給你答案 – AlexIIP 2013-02-19 08:22:35

+0

樂意幫忙:) – 2013-02-19 08:24:07

0

您可以使用下面的正則表達式的:

src="([^"]+) 
src="(.+?"