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

yipeiwu_com5年前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相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

django 中使用DateTime常用的时间查询方式

1、lt:小于 queryset=yourobject.objects .filter(时间字段名称__lt=start) 2、lte:小于等于 queryset=yourob...

Python3内置模块之json编解码方法小结【推荐】

Python3中我们利用内置模块 json 解码和编码 JSON对象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(废弃了RFC 4627)...

详解Pandas之容易让人混淆的行选择和列选择

详解Pandas之容易让人混淆的行选择和列选择

在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下讨论和归纳 本文的数据来源:https://github.com/fivethirtyeight/data/tree/ma...

windows下python虚拟环境virtualenv安装和使用详解

前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用。 环境信息 操作系统:windo...

Numpy 将二维图像矩阵转换为一维向量的方法

以下的例子,将32x32的二维矩阵,装换成1x1024的向量 def image2vector (filename): returnVect=zeros((1,1024)) f=...