Xokare228
огда числа будут x^2, 2x, 15, а мне надо что бы числа были x^2, -2x, 15. Как это сделать?
Ну самый просто способ предварительно заменить все “-” на “+-”, а в split убрать “-” из шаблона.Но это работает только если в вашей входящей строке невозможны варианты типа -x^2-2x+15=0 или x^2- -2x+15=0, тогда этот подход будет выдавать результаты типа такого ('', ‘-x^2’, ‘-2x’, ‘15) или такого (’x^2', ‘-’, ‘-2x’, ‘15=0’)
поэтому вместо re.split имхо лучше использовать re.findall(), а “- -” предварительно заменять на +,
print(re.findall('[-]*[\w|\^]+', 'x^2-2x+15=0'))
>>>
['x^2', '-2x', '15', '0']
но дальше вылезут еще какиенить бока,