
нужно использую функцию findall найти в тексте все слова начинающиеся на букву ‘c’. Плохо понимаю в регулярных выражениях, поэтому прошу помощи разобраться. Спасибо
///
Я просто не понимаю как можно в выражение задать динамический размер слова, которые нужно найти.
result = re.findall(r'c...\b',s)
— так бы я делал, если бы искал слово начинающиеся с «с» и имеющие еще 3 символа после. Но как задать универсальный размер я не понимаю.
Ответ на вопрос: result = re.findall(r"\bc\w*\b",s)
как по мне намного проще, чем советовали люди писать циклами
3 Answers


Решить такую простую задачу можно и без регулярных выражений
words = [] for line in open('text.txt'): words += [w for w in line.split() if w.startswith('c')]
Но если нужно именно с их помощью, то re.findall(r'\bc\w+\b', s)
.

result = re.findall(r'c\w*',string)
c — та самая первая буква (только проверь, русская с тебе нужна или английская, тут английская)
\w — все буквы
* — ноль или более