Привет. Я пытаюсь найти фразы в строке с помощью регулярных выражений. У меня есть следующий код: похоже, он не находит все два словосочетания.
public static void main(String[] args) {
String inputText = "test and test Test hello hello hello test test hello hello ";
//Pattern pattern = Pattern.compile("((\\w{3,}?)\\W(\\w{3,}?)\\W).*\\2\\W\\3", Pattern.CASE_INSENSITIVE);
Pattern twoWordPrasePattern = Pattern.compile("(([a-zA-Z]{3,})\\W([a-zA-Z]{3,})\\W).*\\2\\W\\3", Pattern.CASE_INSENSITIVE);
Matcher matcher = twoWordPrasePattern.matcher(inputText);
while (matcher.find()) {
System.out.println(inputText.substring(matcher.start(), matcher.end()));
System.out.println(matcher.group(1));
}
}
Я борюсь с этим, почему группа hello hello не выходит на улицу?
Спасибо за помощь Как я могу изменить шаблон, чтобы найти все фразы? Ричард