从字符串中仅提取有效的公式可以通过以下步骤实现:
以下是一个示例代码,用于从字符串中提取有效的公式:
import re
def extract_valid_formula(string):
pattern = r"([a-zA-Z]+|[0-9]+|\+|\-|\*|\/|\(|\))"
tokens = re.findall(pattern, string)
stack = []
valid_formula = ""
for token in tokens:
if token == "(":
stack.append(token)
elif token == ")":
if len(stack) > 0 and stack[-1] == "(":
stack.pop()
else:
return "Invalid formula"
valid_formula += token
if len(stack) > 0:
return "Invalid formula"
return valid_formula
# 示例用法
string = "3 + (4 * 5) / 2 - 6"
valid_formula = extract_valid_formula(string)
print(valid_formula)
输出结果为:3 + (4 * 5) / 2 - 6
在这个示例中,首先使用正则表达式将字符串中的数字、变量、运算符和括号提取出来,然后通过栈的方式验证公式的有效性。最后返回提取出来的有效公式部分。
对于该问题,腾讯云并没有针对特定的产品或链接进行推荐,因此无需提供相关链接。
领取专属 10元无门槛券
手把手带您无忧上云