Поиск всех вхождений шаблона в строку

У меня есть некоторая строка:

test = 'Тут Будет Нормальный Текст'

С помощью регулярки я ищу все последовательности, где будет три слова подряд с заглавной буквы.

pattern = r'[А-Я][а-я]+\s[А-Я][а-я]+\s[А-Я][а-я]+\b

После применения re.findall(pattern, test) я получу:

['Тут Будет Нормальный']

Как мне достать еще и 'Будет Нормальный Текст', чтобы итоговый результат выглядел как:

['Тут Будет Нормальный','Будет Нормальный Текст']

Ответы (1 шт):

Автор решения: splash58

Можно воспользоваться Positive Lookahead

([А-Я][а-я]+\s)(?=([А-Я][а-я]+\s[А-Я][а-я]+\b))

и собирать полученные группы group1+group2

Демо

→ Ссылка