2013-02-19 1 views
0

У меня очень простая проблема, но я новичок в Java Matcher, и мне сложно понять, как использовать ее для моей конкретной проблемы.Анализ Java с помощью Matcher и Regex

У меня есть строка, которая является чем-то вроде 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-канала, который я надеялся разобрать без каких-либо фантазий. – AlexIIP

+2

Начало вашего шаблона '' \\ src' означает пробел, за которым следует 'rc'. Это никогда не будет соответствовать' src', поскольку 's' не является пробелом. – jlordo

ответ

2

Почему вы не попробовали более простой узор? Как это:

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

(Не тестировалось, но должно быть лучше)

+0

wow .... это отлично работает, я не могу Полагаю, что я так старался. Я дам вам ответ, как только смогу. – AlexIIP

+0

С удовольствием помогите :) –

0

Вы можете использовать любой из следующих регулярных выражений:

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