我想将字符串拆分为整数和运算符,以便在 python 中进行中缀表达式评估。
这是我的字符串:
>>> s = (1-2+3)*5+10/2
我试过这个分裂:
>>>list(s)
['(', '1', '-', '2', '+', '3', ')', '*', '5', '+', '1', '0', '/', '2']
这是错误的。由于'10'被分成'1','0'
我尝试了替代方案:
>>> re.findall('[+-/*//()]+|\d+',s)
['(', '1', '-', '2', '+', '3', ')*', '5', '+', '10', '/', '2']
这也是出错了。由于 ')*' 应该被拆分成 ')', '*'
你能帮忙从给定的表达式中拆分运算符和整数吗?