Regex,用于查找具有变量的三角函数



我有字符串:

-15*sin(h)**2+121*sin(h)-216

我目前正在使用

input_text = re.findall(r"sin|cos|tan|d|w|(|)|+|-|*+", input_text.strip().lower())

尝试标记此字符串,但它返回以下内容:

['-', '1', '5', '*', 'sin', '(', 'h', ')', '**', '2', '+', '1', '2', '1', '*', 'sin', '(', 'h', ')', '-', '2', '1', '6']

有人能帮我修改regex语句吗?这样我就可以得到了

['sin(h)']

作为令牌,而不是将其分解为

['sin', '(', 'h', ')']

除此之外,我可以使用[a-zA-Z]来标记任何字母的trig函数吗?如sin([a-zA-Z](

不要让(w)替代trig函数,让它们成为同一匹配的一部分。

(?:sin|cos|tan)(w)|+|-|*+

最新更新