Java Matcher возвращает весь матч

1

У меня есть regex чтобы получить quizid из строки, как completed"<a target="_blank" href="/Quiz/Details/290">. Это мой код

  String regex = "href=\"[^\"]+Quiz+[^\"\\d]+(\\d+)\"";
  Pattern pattern = Pattern.compile(regex);
  Matcher matcher = pattern.matcher(sourceString);
  String quizid = matcher.group();

Регулярное выражение должно возвращать 290 из моей строки, completed"<a target="_blank" href="/Quiz/Details/290"> но я получаю href="/Quiz/Details/290. Я думаю, что мое регулярное выражение правильно, но я понятия не имею, почему весь текст возвращается

Теги:

1 ответ

0
Лучший ответ

Вы должны использовать метод Matcher#group( int ) для захвата строки, захваченной определенным номером группы

поэтому используйте:

String quizid = matcher.group(1);

вместо:

String quizid = matcher.group();

Демо-версия RegEx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню