Вы можете сделать это двумя различными способами. Во-первых, необходимо создать регулярное выражение, которое будет соответствовать целому предложению, то есть двум словам, предоставленным пользователем, со словом между ними.
Другой способ, вероятно, проще: вы можете использовать метод split()
, чтобы разбить строку на отдельные слова, а затем просто выполнить итерацию по всему массиву, чтобы найти слова, которые вы ищете. Пример будет:
String userWord = "bread";
String word = "There are bread various bread breeds of dogs";
String[] wordSplit = word.split("");
for(int i = 0; i < wordSplit.length-2; i++) {
if(wordSplit[i].equals(userWord) && wordSplit[i+2].equals(userWord)) {
System.out.println(wordSplit[i+1]);
}
}