我试图从一个字符串中得到一些数学,没有小数它一切都很好,但是当我开始将它们添加到它停止工作时,它似乎并没有留下点在那里。我认为我的正则表达式是正确的,但有人可以纠正我吗?
result = re.findall('\d+\.?\d*\*\d+\.?\d*', e)
for x in result:
lst = x.split("*")
print lst
e = e.replace(x, str(float(lst[0])*float(lst[1])))
因此,如果我输入"1.0*1.0"
它应该以 1.0 出现,但它以 100.0 出现,这是因为正则表达式。
print lst 出来的是 ["10", "10"] 而不是 ["1.0", "1.0"] 所以我们可以说它不是在那之后的行。有任何想法吗?
我的理解是这+
意味着一个或多个?
意味着0或1并且*
意味着0或更多