如何以?(a * p + b)/ p ** 2的形式提取字符串的a,b的值

时间:2017-08-22 09:15:09

标签: python regex python-2.7 python-3.x

在python中给出一个字符串:

(a*p+b)/p**2

这始终遵循此格式,例如(3.02*p+4.12)/p**2我想提取a和b,在示例中为3.024.12

1 个答案:

答案 0 :(得分:5)

您可以使用str.splitstr.strip

>>> s = '(3.02+4.12*p)/p**2'
>>> s.strip('(').split('*')[0].split('+')
['3.02', '4.12']

<强>更新

如果模式过于复杂,您可以使用正则表达式:

>>> s = '(3.02*p+4.12)/p**2'
>>> re.findall(r'(\d+\.\d+)\*p\+(\d+.\d+)', s)[0]
('3.02', '4.12')