2013-04-18 3 views
1

Я пытаюсь совместить слово Salvage в этой строке, но код не подбирает его. Где я иду не так?Регулярное выражение, не найденное совпадение

//String to match 
String titleString = "<td><i><a href="/page/Vengeance2" title="Salary">Salvage</a></i></td>"; 

System.out.println(titleString); 

//Template 
String template = ">(.*)</a>"; 

// 
Pattern p=Pattern.compile(template); 
Matcher matcher = p.matcher(titleString); 

System.out.println(matcher.group(1)); 
+6

Не используйте Regex для анализа HTML/XML. Примеры [здесь] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) – Walls

+0

«Где я ошибаюсь?» Откуда вы знаете, что вы ошибаетесь? Есть ли сообщение об ошибке? Содержит ли ваш код? Он работает, но делайте то, чего вы не ожидаете? –

ответ

3

Попытка поставить matcher.find() непосредственно перед matcher.group(1).

Группа берет «Группу из последнего матча». Но пока не было никакого матча, вы ничего не нашли.

+0

это отсутствовало. Спасибо, это сработало –

Смежные вопросы