怎么样通过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程序设计有所帮助。
本文地址:http://www.45fan.com/a/question/90196.html