Форум сайта python.su
Здравствуйте как с помощью re отобрать слова состоящие только из 4 х букв?
Вот предложение:
text = ‘Петр вышел на улицу, сова спит’ – нужно чтобы регулярное выражение
вернуло только слова “Петр сова спит”
пытаюсь так print(re.findall(’(\w{4})(\s|$)', text)) – возврашает
('Петр', ‘ ’), ('ышел', ‘ ’), ('сова', ‘ ’), ('спит', ‘') – из этого всего убрать бы как то ’ышел' то есть нужно поставить условия что слово должно начинаться либо на начало строки либо перед ним должен быть пробел например так: print(re.findall('(^|\s)(\w{4})(\s|$)', text)) – но тогда возврашается ('', ‘Петр’, ‘ ’), (' ‘, ’сова', ‘ ’)
Отредактировано artur567297 (Ноя. 12, 2023 18:47:35)
Офлайн
res = re.findall(r'\b\w{4}\b', s)
Офлайн
ZerG
[/quote
спасибо
Офлайн
artur567297Ты если про \b не знаешь, то это значит, что ты не читал основные материалы на сайте https://docs.python.org .
из этого всего убрать бы как то ’ышел' то есть нужно поставить условия что слово должно начинаться либо на начало строки либо перед ним должен быть пробел
Офлайн