python

超轻量级php框架startmvc

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

更新时间:2020-04-26 06:40:01 作者:startmvc
本文实例讲述了Python正则表达式实现截取成对括号的方法。分享给大家供大家参考,具体如

本文实例讲述了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 正则表达式 截取 成对括号