кажется, что вы недоразумение, что groupCount
метод возвращает (не чувствую себя плохо об этом, это распространенное заблуждение, для регулярных выражений начинающих Java).
Возвращает количество захватывающих групп в шаблоне этого Сличитель в
Другими словами, она возвращает количество захватывающих групп, используемых в модели, а не количество групп нашли в тексте.
Например, если у нас есть регулярное выражение, как (a)b(c+)
захватив группы являются
- группа 1
(a)
- группа 2
(c+)
так groupCount
для этой модели будет возвращать 2
.
Что вы, кажется, ищут что-то вроде
Pattern p = Pattern.compile("yourRegex");
Matcher m = p.matcher(yourData);
while(m.find()){//this will iterate over your data and in each iteration handle single match
//if you want to know about indexes of current match you can use m.start or m.start(groupID)
String textFound = m.group();
int position = m.start();
//now you can handle data you found,
//like place them in some map which will remember match and its first position
}
что и вам нужно вызвать 'matches' перед любой операцией на согласовани. – Tunaki
Пробовал делать двойной побег \\ t ... не повезло :( –
use 'pattern.find' – vks