我需要一个正则表达式来解析包含分数和操作的字符串[+, -, *, or /]
并返回包含分子,分母和使用findall
函数中的re的5元素元组模块。正则表达式使用python re模块的分数数学表达式
实施例:str = "15/9 + -9/5"
输出应形式[("15","9","+","-9","5")]
我能够想出这个的:
pattern = r'-?\d+|\s+\W\s+'
print(re.findall(pattarn,str))
其产生["15","9"," + ","-9","5"]
的输出。但是经过这么长时间的摆弄之后,我无法把它变成一个5元组元组,而且如果没有匹配周围的空白区域,我也无法匹配这个操作。
“[tuple([”15“,”9“,”+“,”-9“,”5“])]产生了[(”15“,”9“,” +“,”-9“,”5“)]'?你是否也需要摆脱空白?如果是这样,[[15],[9],[+],“-9”,“5”]]]]中的[[tuple([x.replace('','')] [(“15”,“9”,“+”,“-9”,“5”)]。 – dorverbin