首页 > 其他 > 详细

正则表达式匹配求值

时间:2017-02-13 18:53:39      阅读:101      评论:0      收藏:0      [点我收藏+]
import re#导入正则库
a = "1 - 2 * ((60 - 30 + (-40.0/5) * (9-2*5/5 + 7 /3*99/4*2998 + 10 * 568/14 )) - (-4*3)/(16 - 3*2) )"
def qiuzhi(tt):
    u = eval(tt)#应用到eval函数,自动字符串求值
    return u
while True:
    r = re.split("\(([^()]+)\)",a ,1)#在a里,以最里面的括号为分割标准,分割一次
    print(r)
    if len(r) == 3:
        bef = r[0]
        mid = r[1]
        aft = r[2]
        n = qiuzhi(mid)
        a = bef + str(n) + aft
        print(mid)
    else:
        final = qiuzhi(a)
        print(final)
        break

时不时的查看以前的笔记非常的有必要。。一下午就卡在了字符串求和的问题上,回头去楼下转个弯的时候,想到了eval函数。。

正则表达式匹配求值

原文:http://www.cnblogs.com/daduoduo/p/6394848.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!