sousagemonster
@sousagemonster

Как решить проблему с регулярным выражением?

Недавно начал изучать регулярные выражения, имею такой вот код:

@dp.message_handler(regexp=r"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")
async def process_start_command(message: types.Message):
    command_parse = re.compile(r"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")
    parsed = command_parse.match(message.text)
    send_id = parsed.group(0)
    with open(chat_path, "a", encoding="utf8") as f:
        f.write(send_id + "\n")
    await message.answer(f'Эл.адресс {send_id} найден')


Не знаю как исправить эту ошибку:
send_id = parsed.group(0)
AttributeError: 'NoneType' object has no attribute 'group'
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Не знаю где ищет фильтр aiogram, но re.match ищет вхождение в начале строки. Скорее всего ваша регулярка находится где-то в середине текста. Попробуйте заменить на re.search

upd: да, aiogram использует search

https://github.com/aiogram/aiogram/blob/aaf0b42acf...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 23:46
20000 руб./за проект
24 нояб. 2024, в 23:07
2000 руб./за проект