2013-02-19 62 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="(.+?"