37,744
社区成员
发帖
与我相关
我的任务
分享import re
text = \
"""
OE_Round(AW72*AH69,0.1)
OE_Round(AH69*AVERAGE(AC69:AG72),0.1)
OE_Round(AH69*AVERAGE(AC69:AG72),AVERAGE(AC69:AG72))
OE_Round(f(x,y,z(a,b)*c), 0.1)
OE_Round (f(x,y)+f1(a,b,c), f2(AW72*AH69,0.1) )
OE_Round ((f(x)+5)*f1(x,y), 1+*f2(0.1*f3(x*5+1)))
"""
robj = re.compile("OE_Round *?\(")
pos = 0
args = []
mobj = robj.search(text, pos)
while mobj:
open = beg = 1
pos = mobj.end()
while open:
if text[pos] == ')':
open -= 1
elif text[pos] == '(':
open += 1
elif text[pos] == ',' and open == 1:
beg = pos+1
pos += 1
args.append(text[beg:pos-1].strip())
mobj = robj.search(text, pos)
for i in args:
print iimport re
s=('''IF(AW70=1,IF(AC73)HTDPSCOM.FuncSet.OE_Round(AW72*AH69,0.1)),'''
'''HTDPSCOM.FuncSet.OE_Round(AH69*AVERAGE(AC69:AG72),0.2)))''')
print s
reg = re.compile(r'OE_Round\([^,]+,([0-9]\.[0-9]+)\)+')
result = reg.findall(s)
print result