提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢?

在python中,用正则表达式提取多层括号中最外层括号包含的内容
比如有一个字符串 :
学习python中有什么不懂的地方,小编这里推荐加小编的python学习群:895,817, 687
有任何不懂的都可以在里面交流,还有很好的视频教程pdf学习资料,大家一起学习交流!

CPU(
.CPU_1(f1),
.CPU0(t0),
.CPU1(t1),
.CPU2(t2),
.CPU3(t3)
);

我想要提取

.CPU_1(f1), .CPU0(t0), .CPU1(t1), .CPU2(t2), .CPU3(t3)

这些内容,那么如何实现呢?

还有的一种情况是对于

a(bc(d)ef)g(h(i)(j)k)这段字符串要提取出

bc(d)ef 和 h(i)(j)k 两个字串,所以不能用贪婪匹配。

用栈可以实现,但想知道有没有用正则表达式更方便的办法。
问题分析
不规则嵌套结构的分析

最好还是用栈

如果已经确定嵌套的结构

才可以考虑使用正则

先用贪婪取出整体的数据

然后对数据规划出相似的结构

第一个很简单就不用说了

第二个可以写成这样

(?: # 相似结构的分组\w* # 括号前可能存在的内容\( # 左括号[^()]+ # 非括号内容\) # 右括号
)+ # 多个相似的结构
\w* # 剩余的没有括号的内容

需要注意的是正则在这样的条件下可用性并不高

因为嵌套结构如果改变了

就得修改或重新编写

唯一能通用的是递归结构(比如回文)

但正则的递归用法也只有PHP等少数语言支持

所以在Python中还是自己写算法好一点

在python中,用正则表达式提取多层括号中最外层括号包含的内容相关推荐

  1. python程序中想使用正则表达式_如何在python中使用正则表达式提取每行中需要的信息...

    展开全部 >>> s='''21899   6% S    15 173928K  38024K  fg app_108  com.tencent.qq 21899  34% S   ...

  2. 在Java中如何从一个多层嵌套循环中直接跳出?

    一.问题描述 最近发现一个有趣的问题,在Java中如何从一个多层嵌套循环中退出呢? 例如下面,有两层循环,break只能退出第一个for循环,不能直接跳出第二个for循环外面. public stat ...

  3. 北风网php笔记正则表达式,PHP中使用正则表达式提取中文实现笔记

    最近老板叫做一个数据查重的小练习,涉及从一个包含中文字段的文件中提取出其中的中文字段并存储,使用php开发.中间涉及到php正则表达式中文匹配的问题,网上搜罗一大片,但是也很乱没有一个准信儿,经过自己 ...

  4. python利用re正则表达式提取数据

    需求 有时我们需要在一端文本中提取出我们想要的字符串,常用的场景:在一段网页源代码中提取某一个的标签中的数据 例子 1.例如,我们想要获取<div id="content"& ...

  5. 【Python项目实战】提取.docx文件中的图片并保存到指定的文件夹

    文章目录 一.需求分析 二.系统设计 2.1系统业务流程 2.2系统预览 三.系统开发必备 3.1 系统开发环境 3.2文件组织结构 四.主函数设计 1.创建窗口 2.创建按钮 3.创建输入框 五.函 ...

  6. python正则表达式匹配括号并删除_正则表达式去除中括号(符号)及里面包含的内容...

    例子:颜色:粉色[10] 尺码:S[5] 去掉[ ]及内容: preg_replace("/\[.*\]/", '', $str)1 处理后效果:颜色:粉色 尺码:S 小技巧:可把 ...

  7. 应用PHP正则表达式提取某网站中最新发表的代理ip地址

    Php正则表达式的应用---提取某网站中最新发表的代理 ip 地址 正则表达式的功能是非常强大的,主要三方面应用.1. 判断指定的字符串是否具有指定的格式 2.查找具有指定格式的字符串 3. 将具有指 ...

  8. Python小技巧:提取docx文件中表格

    ''' 使用的包:python-docx 安装方式:conda install -c conda-forge python-docx 帮助文档:https://python-docx.readthed ...

  9. 利用python中pdfplumber库提取PDF文件中文字

    pdfplumber库中提供了一个extract_text()方法来帮助我们提取PDF文件中的文字.我们只需要使用pdfplumber中的open()方法打开我们希望提取文字的PDF文件,然后对所需提 ...

最新文章

  1. matlab错误103 577,小编为你作答win7系统安装MATLAB出现 license manager error 103错误的还原教程...
  2. 生产环境JVM内存大小配置
  3. java竖向菜单,垂直滑动菜单
  4. android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...
  5. 小程序学习笔记(2)-简单的小例子了解小程序的语法
  6. Linux C语言UDP实现视频文件上传
  7. 基于SSM的医院药品库存管理系统
  8. 3dmax打开错误html,Windows安装3dmax软件失败提示错误三种解决办法
  9. 如何下载网页的FLASH视频
  10. 第二课 MC9S08DZ60之多功能时钟发生器S08MCGV1
  11. ES2015 class
  12. Java基础重点总结
  13. Visio科学图形包免费下载
  14. javaScript快速入门(仅需一天)
  15. 与或非门——python逻辑电路
  16. 【Codewars python 4kyu】: Breadcrumb Generator
  17. HTML(网页设计)基础到加强
  18. Android 跳转到安卓市场进行下载,跳转至应用商店下载
  19. 学会这几个软文编辑技巧,让你每天都早下班
  20. 什么是强化学习?预测股票的效果如何?

热门文章

  1. 将您重定向的次数过多什么意思_电池循环次数是什么意思?怎么计算的?
  2. SSM实现个人博客-day03
  3. java实现接收字符串对象并在后台代码中转成list对象
  4. 腾讯上海某实验室SQL面试题——查询最后任职信息
  5. TRDD got lost again
  6. 关于我转生变成史莱姆这档事
  7. class字节码文件中的常量池结构详解
  8. 【算法】设计算法求所有强连通分量的完整代码(kosaraju算法)
  9. linux学习总结之磁盘管理
  10. Bootstrap4+MySQL前后端综合实训-Day03-AM【折叠、模态框】