Я пытаюсь сопоставить группу слов между двумя словами в строке. Я буду использовать Java RegEx.
Введите текст
The clever fox JUMPED OVER the big dog and ran away.
Ожидаемый результат
the big
Используемое регулярное выражение
(?<=(fox\s[A-Z0-9]*))(?s)(.*?)(?=\sdog)
Я получил результат ниже, который дает мне все слова между лисой и собакой
JUMPED OVER the big
За словом "лиса" всегда будут следовать одно или несколько слов в верхнем регистре. Мне нужно сопоставить все слова, следующие за этими двумя словами, пока я не получу "собака".
Также мне нужно получить желаемый результат в группе захвата 0. Я не могу использовать разные группы захвата. Это ограничение в моем приложении.
Любая помощь по этому поводу приветствуется.