正则表达式:在计算中提取功率

我需要从表达式中获取幂列表,例如:

'2 * x ** 3 + x ** -1 + x**4'

预期的结果是

[3, -1, 4]

我不知道如何做到这一点,因此我不能包括我尝试过的任何尝试。


我将不胜感激任何建议

回答

'**s*(-?d+)'按照以下代码中的建议使用此正则表达式:

>> import re
>> s = '2 * x ** 3 + x ** -1 + x**4'
>> exponents = [int(exponent) for exponent in re.findall('**s*(-?d+)', s)]
>>> exponents
[3, -1, 4]

关于正则表达式的一些解释:

**- 你需要转义,**因为*在正则表达式中意味着任何字符。

s*- 在**您可能不需要空格或多个空格之后

(-?d+) - 它将允许您拥有正整数和负整数。


以上是正则表达式:在计算中提取功率的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>