Поиск всех слов начинающихся с буквы ‘c’

827 просмотра
0
0 Комментариев

нужно использую функцию findall найти в тексте все слова начинающиеся на букву ‘c’. Плохо понимаю в регулярных выражениях, поэтому прошу помощи разобраться. Спасибо

///
Я просто не понимаю как можно в выражение задать динамический размер слова, которые нужно найти.

result = re.findall(r'c...\b',s) — так бы я делал, если бы искал слово начинающиеся с «с» и имеющие еще 3 символа после. Но как задать универсальный размер я не понимаю.

Ответ на вопрос: result = re.findall(r"\bc\w*\b",s)

как по мне намного проще, чем советовали люди писать циклами


Добавить комментарий

3 Answers

Python Опубликовано 18.12.2018
0

Решить такую простую задачу можно и без регулярных выражений

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).

Добавить комментарий
0

Вот пример решения

import re
 
lines = ['тест', 'сова', 'Call', 'string', 'Свет', 'box', 'cute']
 
for line in lines:
    if re.match(r'\b[c|с][а-яa-z]*\b', line, re.IGNORECASE):
        print(line)

Почитайте о регулярных выражениях чуть больше тут и тут

Добавить комментарий
0

result = re.findall(r'c\w*',string)

c — та самая первая буква (только проверь, русская с тебе нужна или английская, тут английская)
\w — все буквы
* — ноль или более

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up