Я пытаюсь совместить имя пользователя с регулярным выражением. Пожалуйста, не предлагайте раскол.Ядро Java regex не захватывает группу
USERNAME=geo
Вот мой код:
String input = "USERNAME=geo";
Pattern pat = Pattern.compile("USERNAME=(\\w+)");
Matcher mat = pat.matcher(input);
if(mat.find()) {
System.out.println(mat.group());
}
почему он не нашел geo
в группе? Я заметил, что если я использую .group(1)
, он найдет имя пользователя. Однако метод group
содержит USERNAME=geo
. Зачем?
'group()' не всегда возвращает целую строку. – incarnate
Я хотел сказать «весь узор». Исправленный. – polygenelubricants
Действительно, согласно «Matcher» javadoc: http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html#cg * Нулевой ноль всегда означает все выражение. * – BalusC