Python怎么提取表达式中的各项

一个复杂的表达式,怎么提取其中的多项式的各项和系数比如F1=Ax**3+Bcos(x+y)+Cexp(-x**2)+2(x+y)+3*(3*x+y)提取其中各项

可以用正则表达式提取,你需要提取哪些项目
类似这样

import re
F1='A*x**3+Bcos(x+y)+Cexp(-x**2)+2*(x+y)+3*(3*x+y)'
li = re.findall(r'([a-zA-Z]+\(.+?\)|\w+)',F1)
print(li)

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

使用正则表达式。
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
re 模块使 Python 语言拥有全部的正则表达式功能。
compile 函数可创建一个模式字符串和可选的标志参数组成的一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

img

可以用正则表达提取,不会正则的话可以看这个网站
有很多典例
https://c.runoob.com/front-end/854/