@medio_0
Начинающий питонист

Как вытащить пример из чата и решить его?

Есть чат, в нем в нем сообщения по типу "Решите пример 2*2", "Всем привет. 2/2*2+2" , но есть и сообщения по типу "Блин, -5к за день". Как вытаскивать именно пример из этих сообщений?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
1. Определись, что считается выражением, а что не считается. (Задолбаешься уже на этом пункте.)
2. Напиши регулярное выражение, которое вылавливает такие примеры. (Тоже та ещё задачка)
3. Осознай, что проще заставить пользователей предварять пример ключевым словом/командой, например, "!реши 2*2"
Ответ написан
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
import re

s = '''Есть чат, в нем в нем сообщения по типу "Решите пример 2*2",
 "Всем привет. 2/2*2+2" , 
 но есть и сообщения по типу "Блин, -5к за день". 
 Как вытаскивать именно пример из этих сообщений?
'''

pattern = r'\d+[\S{0,}]+\d'
results = re.findall(pattern, s)

for result in results:
	print(eval(result))

>>> 4
>>> 4.0
Ответ написан
Ваш ответ на вопрос

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

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