@Keltor
Пока никто

Как с помощью регулярок выбрать 2 и более слов?

Есть регулярное выражение - %\w+%
Он из строки Понедельник:\n1.%География Математика%(8:30-9:15)
Не выбирает ничего, как сделать так, чтобы он независимо от количество слов внутри %% выбирал их все?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
sim3x
@sim3x
In [13]: list(re.findall('%(\w+ *\w+)%', '\n1.%География  Математика%(8:30-9:15)'))
Out[13]: ['География  Математика']

In [14]: list(re.findall('%(\w+ *\w+)%', '\n1.%ГеографияМатематика%(8:30-9:15)'))
Out[14]: ['ГеографияМатематика']

In [15]: list(re.findall('%(.+)%', '\n1.%ГеографияМатематика%(8:30-9:15)'))
Out[15]: ['ГеографияМатематика']

In [16]: list(re.findall('%(.+)%', '\n1.%География   Математика%(8:30-9:15)'))
Out[16]: ['География   Математика']
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
\w может не работать с русским алфавитом.
Но попробуйте:
(?<=%)[^%]+(?=%)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы