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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

pycharm打开命令行或Terminal的方法

pycharm打开命令行或Terminal的方法

见图---pycharm左下角点击,就会发现 以上这篇pycharm打开命令行或Terminal的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-...

Python多线程同步---文件读写控制方法

Python多线程同步---文件读写控制方法

1、实现文件读写的文件ltz_schedule_times.py #! /usr/bin/env python #coding=utf-8 import os def ReadTi...

spyder常用快捷键(分享)

最近在学习tensorflow框架,在ubuntu下用到python的一个ide --spyder,以下是常用快捷键 Ctrl+1:注释/撤销注释 Ctrl+4/5:块注释/撤销块注释...

python 的 openpyxl模块 读取 Excel文件的方法

python 的 openpyxl模块 读取 Excel文件的方法

Python 的 openpyxl 模块可以让我们能读取和修改 Excel 文件。 首先让我们先理解一些 Excel 基础概念。 1 Excel 基础概念 Excel 文件也称做为工...

python tkinter图形界面代码统计工具(更新)

python tkinter图形界面代码统计工具(更新)

本文为大家分享了python tkinter图形界面代码统计工具的更新版,供大家参考,具体内容如下 代码统计工具 修改了导出excel功能,把原来的主文件进行了拆分 code_count...