(коэффициента без переменной). В ней рассматривается три случая: когда когда он находится в начале строки, в середине и в конце: r'(^\d+)[-+]|[-+](\d+$)|[-+](\d+)[-+]' . В результате нужно получить целое число без всяких плюсов и минусов слева/справа; для этого были использованы группы. Проблема в том, что Python индексирует эти группы как три разных, хотя в условии указано, что строка должна совпадать с одним из трёх шаблонов. Вопрос: как сделать так, чтобы Python считал все эти три пары скобок за первую группу?
Проблема решена: нужно вызвать метод .groups(), который вернет значения всех групп, после чего исключить из этого списка значения None
а не проще вместо таких мострузных регулярок разбить строку через re.split('\+|\-', s) и привесть результат к инту с отловом исклчений?
"Если у тебя есть проблема и ты решил ее регуляркой, у тебя две проблемы"
Обсуждают сегодня