Шаблон поиска в Python
Не могу понять как составить шаблон в Python
Есть ячейка:
Спать легли однажды ДЕТИ – Окна все затемнены. А проснулись НА РАССВЕТЕ – В окнах свет – и НЕТ ВОЙНЫ!
Необходимо найти все слова и фразы (!) написанные заглавными буквами:
ДЕТИ
А
НА РАССВЕТЕ
В
НЕТ ВОЙНЫ
Используя шаблон (\b([А-ЯЁA-Z]+)\b)
Получаем итог:
ДЕТИ
А
НА
РАССВЕТЕ
В
НЕТ
ВОЙНЫ
разбивает фразы по словам
Используя шаблон (\b([А-ЯЁA-Z]+)\b \b([А-ЯЁA-Z]+)\b)
Получаем итог:
НА РАССВЕТЕ
НЕТ ВОЙНЫ
не ищет одиночные слова
Ответы (1 шт):
Автор решения: Дмитрий Игоревич
→ Ссылка
Конкретно в Вашем примере подойдёт
\b([А-ЯЁA-Z]+)\b.(\b[А-ЯЁA-Z]+\b)*
но этот шаблон просто предполагает возможное наличие второго слова. В примере желаемые словосочетания имеют семантический смысл. А фактически шаблон будет находить любые рядом стоящие слова, написанные с заглавной буквы.
Поэтому не очень уверен что именно это вы хотели, но регулярные выражения ничего про семантику не знают.