我有字符串:
-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)|+|-|*+