Если вы хотите проанализировать строку с числами для a, b и c, то следующий пример python покажет вам, как это сделать:
import re
p = re.compile('([\d*\.\d+|\d+]+)x\+([\d*\.\d+|\d+]+)y\+([\d*\.\d+|\d+]+)')
m = p.match("1.2x+3y+4.5")
print("a=%s" % m.group(1))
print("b=%s" % m.group(2))
print("c=%s" % m.group(3))
или без использования регулярных выражений :
e = "1.2x-3y+4.5"
p=['']
for c in e: # loop through all characters
if c in ['.', '-'] or c.isdigit(): # if it's dot, minus or digit append it to the last parameter
p[len(p) - 1] += c
else: # otherwise create a new parameter
if len(p[len(p) - 1]) != 0: # when there isn't one yet
p.append('') # append new parameter
print("a=%s" % p[0])
print("b=%s" % p[1])
print("c=%s" % p[2])