Здравствуйте, есть следующий код:
String str = "Какой то текст 199 и опять какой то текст ?";
String pattern = "(.*)(\\d+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
if(m.find( )) {
System.out.println(m.group(1));
System.out.println(m.group(2));
} else {
System.out.println("НЕ СОВПАДАЕТ");
}
Вывод такой:
Какой то текст 19
9
И вот не понимаю а почему первая группа регулярного выражения "(.*)" заканчивается на "Какой то текст 19" почему вот именно тут ? Я просто сейчас думаю что первая группа должна совпасть со всей строкой целиком. Подскажите пожалуйста почему регулярка работает именно так, заранее благодарю за ответ.