Я использую шаблон/Matcher, чтобы получить код ответа в ответе HTTP. groupCount возвращает 1, но при попытке получить его я получаю исключение! Есть идеи, почему?
Вот код:
//get response code
String firstHeader = reader.readLine();
Pattern responseCodePattern = Pattern.compile("^HTTP/1\\.1 (\\d+) OK$");
System.out.println(firstHeader);
System.out.println(responseCodePattern.matcher(firstHeader).matches());
System.out.println(responseCodePattern.matcher(firstHeader).groupCount());
System.out.println(responseCodePattern.matcher(firstHeader).group(0));
System.out.println(responseCodePattern.matcher(firstHeader).group(1));
responseCode = Integer.parseInt(responseCodePattern.matcher(firstHeader).group(1));
И вот результат:
HTTP/1.1 200 OK
true
1
Exception in thread "Thread-0" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Unknown Source)
at cs236369.proxy.Response.(Response.java:27)
at cs236369.proxy.ProxyServer.start(ProxyServer.java:71)
at tests.Hw3Tests$1.run(Hw3Tests.java:29)
at java.lang.Thread.run(Unknown Source)
Подробнее здесь: https://stackoverflow.com/questions/567 ... oup-method
«Соответствие не найдено» при использовании группового метода сопоставителя ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
LibTooling — последняя унитаризованная функциональная переменная сопоставителя AST
Anonymous » » в форуме C++ - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-