Python正则表达式实现截取成对括号的方法

1084次阅读  |  发布于5年以前

本文实例讲述了Python正则表达式实现截取成对括号的方法。分享给大家供大家参考,具体如下:


    strs = '1(2(3(4(5(67)6)7)8)9)0'
    reg1 = re.compile('([()])∗') #一对括号
    reg2 = re.compile('([()]|\([()]∗)*\)') #两对括号
    reg3 = re.compile('([()]|\([()]∗|([()]|\([()]∗)*\))*\)') #三层

函数


    #匹配成对括号正则表达式
    def getReg(self, count, bracket = '()'):
        leftBracket = bracket[0]
        rightBracket = bracket[1]
        count -= 1
        regBasic = leftBracket + '(?:[^' + leftBracket + rightBracket + '])*' + rightBracket
        if count < 0:
          regBasic = ''
        if count > 0:
          for i in xrange(count):
            tempNum = regBasic.rfind('*') - 1
            regBasic = regBasic[:tempNum] + "|" + regBasic + regBasic[tempNum:]
        return regBasic

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8