Задать вопрос
Login8
@Login8
Программист, критик, наватор

Почему некорректно работает регулярное выражение в python3?

Вот код:

import re


text = 'aaa ,./;hgk bbb !@7ts0 ccc 4r4r ddd'
ex = re.split(r'(aaa).+?(bbb)?.+?(ccc)?.+?(ddd)', text)
print(ex) # ['', 'aaa', None, None, 'ddd', '']

Мне нужно вытащить из строки слова aaa, bbb, ccc и ddd, однако bbb и ссс могут отсутствовать в строке, остальные же слова присутствуют 100%.
Регулярное выражение, которое я составил, не работает, как видите в коде, bbb и ссс не вытаскиваются почему-то. Однако, если убрать из выражения вопросительные знаки возле слов (bbb)? и (ссс)?, то всё работает. Но их нельзя убирать, потому что эти слова могут отсутствовать в строке поиска.
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Хекслет
    Java-разработчик
    10 месяцев
    Далее
  • Stepik
    Поколение Python: курс для профессионалов
    1 неделя
    Далее
  • МИПО
    Веб-мастер
    7 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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