在python中,用正则表达式提取多层括号中最外层括号包含的内容
提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢?
在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中,用正则表达式提取多层括号中最外层括号包含的内容相关推荐
- python程序中想使用正则表达式_如何在python中使用正则表达式提取每行中需要的信息...
展开全部 >>> s='''21899 6% S 15 173928K 38024K fg app_108 com.tencent.qq 21899 34% S ...
- 在Java中如何从一个多层嵌套循环中直接跳出?
一.问题描述 最近发现一个有趣的问题,在Java中如何从一个多层嵌套循环中退出呢? 例如下面,有两层循环,break只能退出第一个for循环,不能直接跳出第二个for循环外面. public stat ...
- 北风网php笔记正则表达式,PHP中使用正则表达式提取中文实现笔记
最近老板叫做一个数据查重的小练习,涉及从一个包含中文字段的文件中提取出其中的中文字段并存储,使用php开发.中间涉及到php正则表达式中文匹配的问题,网上搜罗一大片,但是也很乱没有一个准信儿,经过自己 ...
- python利用re正则表达式提取数据
需求 有时我们需要在一端文本中提取出我们想要的字符串,常用的场景:在一段网页源代码中提取某一个的标签中的数据 例子 1.例如,我们想要获取<div id="content"& ...
- 【Python项目实战】提取.docx文件中的图片并保存到指定的文件夹
文章目录 一.需求分析 二.系统设计 2.1系统业务流程 2.2系统预览 三.系统开发必备 3.1 系统开发环境 3.2文件组织结构 四.主函数设计 1.创建窗口 2.创建按钮 3.创建输入框 五.函 ...
- python正则表达式匹配括号并删除_正则表达式去除中括号(符号)及里面包含的内容...
例子:颜色:粉色[10] 尺码:S[5] 去掉[ ]及内容: preg_replace("/\[.*\]/", '', $str)1 处理后效果:颜色:粉色 尺码:S 小技巧:可把 ...
- 应用PHP正则表达式提取某网站中最新发表的代理ip地址
Php正则表达式的应用---提取某网站中最新发表的代理 ip 地址 正则表达式的功能是非常强大的,主要三方面应用.1. 判断指定的字符串是否具有指定的格式 2.查找具有指定格式的字符串 3. 将具有指 ...
- Python小技巧:提取docx文件中表格
''' 使用的包:python-docx 安装方式:conda install -c conda-forge python-docx 帮助文档:https://python-docx.readthed ...
- 利用python中pdfplumber库提取PDF文件中文字
pdfplumber库中提供了一个extract_text()方法来帮助我们提取PDF文件中的文字.我们只需要使用pdfplumber中的open()方法打开我们希望提取文字的PDF文件,然后对所需提 ...
最新文章
- matlab错误103 577,小编为你作答win7系统安装MATLAB出现 license manager error 103错误的还原教程...
- 生产环境JVM内存大小配置
- java竖向菜单,垂直滑动菜单
- android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...
- 小程序学习笔记(2)-简单的小例子了解小程序的语法
- Linux C语言UDP实现视频文件上传
- 基于SSM的医院药品库存管理系统
- 3dmax打开错误html,Windows安装3dmax软件失败提示错误三种解决办法
- 如何下载网页的FLASH视频
- 第二课 MC9S08DZ60之多功能时钟发生器S08MCGV1
- ES2015 class
- Java基础重点总结
- Visio科学图形包免费下载
- javaScript快速入门(仅需一天)
- 与或非门——python逻辑电路
- 【Codewars python 4kyu】: Breadcrumb Generator
- HTML(网页设计)基础到加强
- Android 跳转到安卓市场进行下载,跳转至应用商店下载
- 学会这几个软文编辑技巧,让你每天都早下班
- 什么是强化学习?预测股票的效果如何?