python正则group()的用法—正则提取括号内以及其他符号内内容
python正则提取括号内以及其他符号内内容,我以前学过一点点正则,但是学的不深,用的正则也是最笨的正则方法,只会group(0).
然而,我今天又看了下正则,发现正则的提取确实好用。无论爬虫还是文本分析都很方便。可以 解决特定的需求。
举个例子,在以前我提取dsgs(gad)gdagda的时候,正常有两种方式:一个是字符串分割,分割几次就能找到想要的内容一般,第二是正则,但是我的是假的正则,我以前的正则是先匹配(gad)字符串,然后再写规则匹配gad的规则二次才能完成提取。但是如果字符串较大往往耗时费力,纯粹的体力活动。并且。我以前无论啥正则,都说group(0).我一直奇怪为啥一直group(0)呢.
直到今天,我的疑惑才解开,才发现正则的强大之处。因为我今天要匹配处理的字符串的格式为:"2018-05-05 15:55:40 2班某某(1315426911)"这样一个字符串,我想提取括号里面的内容。经过各方百度,终于找到合适的方法。我先把代码和结果分享给大家:
import re
pattern=re.compile(r'\d*-\d*-\d*.*')
pattern2=re.compile(r'(\()(.*?)(\))')
pattern3=re.compile(r'\((.*)\)')
string="2018-05-05 15:55:40 2班某某(1315426911)"str1=pattern.search(string)
print(str1.group(0))str2=pattern2.search(string)
print('group(0):',str2.group(0))
print('group(1):',str2.group(1))
print('group(2):',str2.group(2))
print('group(3):',str2.group(3))str3=pattern3.search(string)
print('group(0):',str3.group(0))
print('group(1):',str3.group(1))
输出的结果为:
2018-05-05 15:55:40 2班某某(1315426911)
group(0): (1315426911)
group(1): (
group(2): 1315426911
group(3): )
group(0): (1315426911)
group(1): 1315426911
对于第一个pattern就是正常匹配,不做详解。
对于第二个。就是把你想获得的内容用()封装起来。然后括号从左到右就是group(id)
第三个就不用说啦,因为只有一个括号,所以只有group(1).
值得注意的是注意真正的字符串括号"(“和”)"加斜杠转义。如果不想转义,还可以这么写:pattern3=re.compile(r’[ ( ] (.*)[ ) ]’)。
同样,在爬虫或者遇到其他文本分析问题时候可以采用同样方法。
其他的正则有很多大佬已经总结过,在这里就不说了(其实我也不会几个??)。如果有错误,请指正!
- 如果对
后端、爬虫、数据结构算法
等感性趣欢迎关注我的个人公众号交流:bigsai
python正则group()的用法—正则提取括号内以及其他符号内内容相关推荐
- python进阶(十七)正则json(上)
1. 一个列表中所有的数字都是重复2次,但是有一个数字只重复了一次. 请找出重复一次的数字,不可以使用内置函数. [2,2,1,1,0,4,3,4,3] 方法1:通过字典计数,找到value等于1的k ...
- Python使用re模块进行正则匹配日期和时间
Python使用re模块进行正则匹配日期和时间 目录 Python使用re模块进行正则匹配日期和时间 日期匹配 时间匹配 日期匹配 #导入需要的正则匹配的re包 # Load regex packag ...
- js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global)...
js进阶正则表达式10-分组-多行匹配-正则对象的属性(小括号作用:分组,将小括号里面的东西看成一个整体,因为量词只对前一个字符有效)(多行匹配:m)(属性使用:reg.global) 一.总结 1. ...
- python正则表达式group用法_Python 正则表达式中的group参数使用
Python正则表达式re模块中有个group参数,刚开始看的时候没理解,自己摸索了一下,终于知道是啥意思了,记录一下. 先看一下教程中对这个参数的说明: 老实讲,看了这个描述我也没懂是啥意思,于是在 ...
- js匹配正则匹配手机号/固话/带括号区号固话
js匹配正则匹配手机号/固话/带括号区号固话 var test = document.getElementsByTagName('body')[0].outerHTML; var array =tes ...
- 在nginx的正则配置中使用大括号花括号引起的问题解决
在nginx的正则配置中使用大括号花括号引起的问题解决 问题现象 问题解决 示例 错误示例 正确示例 问题现象 大括号在nginx配置中经常用到,所以在正则表达里直接使用会导致格式错误. 问题解决 把 ...
- python :re模块基本用法
re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, ...
- Python BS4解析库用法详解
Python BS4解析库用法详解 Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据.Bea ...
- linux获取中括号内容,shell里使用正则表达式提取括号中的内容
遇到个websphere MQ监控的问题,希望通过命令行的方式获取到MQ的一些状态: 1. su - mqm 使用mqm用户 2. dspmq 最简单的命令,查看队列控制器的状态: $ dspmq - ...
最新文章
- 时隔两年,EfficientNet v2来了!更快,更小,更强!
- BCH独立日最好的礼物——Token发行已实现
- RunTime技术总结
- 怎么学python-如何轻松学习Python数据分析
- 对接钉钉审批_低代码对接钉钉创建外部联系人
- css:中文词不断开,整体换行
- Problem 77:Prime summations
- iPhoneX 序列适配方案
- Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器
- [SQL]查询及删除重复记录的SQL语句
- IIS7 如何设置读取、脚本和可执行文件的执行权限
- axure下载及汉化
- javascript在网页中实现粘贴qq截图功能
- 计算机操作系统详细学习笔记(一):计算机操作系统概述
- php开发人脸识别流程,php使用face++实现一个简单的人脸识别系统
- 移动Ad Hoc网络路由协议汇总
- csc.exe(C# 编译器)
- 数据通信与网络:CH5 Analog Transmission
- 【计算机基础04】Excel习题
- Servlet实例化异常以及tomcat子级启动失败的可能原因