Python 正则表达式分组
被括号括起来的表达式将作为一个整体,也就是一个分组:
In [43]: str = "Jan 26 16:41:27 localhost dhclient[1480]: bound to 192.168.119.128 -- renewal in 750 seconds." In [44]: reg = re.compile(r'(\w+ \d+ [\d:]+) (\w+) .*') # 把日期和时间匹配到一组,把来源主机匹配到一组 In [45]: reg.findall(str) # 另外,虽然.*匹配到剩下的所有内容,但默认只打印匹配到的分组的内容
Out[45]: [('Jan 26 16:41:27', 'localhost')]
我们可以给分组起一个名字,这种分组叫做有名分组:
In [52]: str = "Jan 26 16:41:27 localhost dhclient[1480]: bound to 192.168.119.128 -- renewal in 750 seconds."
In [53]: reg = re.compile(r'(?P<datetime>\w+ \d+ [\d:]+) (?P<hostname>\w+) .*') # 有名分组的语法:(?P<group_name>pattern)
In [54]: result = reg.search(str) # 需要用search()方法来进行匹配,因为该方法有group()可以指定打印哪个匹配到的分组
In [55]: result.group('datetime') # 根据组名来获取匹配到的分组的内容
Out[55]: 'Jan 26 16:41:27'
In [56]: result.group('hostname')
Out[56]: 'localhost'
In [57]: result.groupdict() # 还可以用groupdict()以字典的形式返回所有分组
Out[57]: {'datetime': 'Jan 26 16:41:27', 'hostname': 'localhost'}
Python 正则表达式分组的更多相关文章
- python正则表达式--分组、后向引用、前(后)向断言
无名.有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全局分组(就是索引号为 ...
- Python 正则表达式(分组)
正则表达式分组 分组就是用一对圆括号"()"括起来的正则表达式,匹配出的内容就表示一个分组.从正则表达式的左边开始看,看到的第一个左括号"("表示第一个分组,第 ...
- python正则表达式中的分组 group
维基百科:http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C ...
- python正则表达式(8)--分组、后向引用、前(后)向断言
无名.有名分组 (1)正则表达式—无名分组 从正则表 达式的左边开始看,看到的第一个左括号“(”表示表示第一个分组,第二个表示第二个分组, 依次类推. 需要注意的是,有一个隐含的全局分组(就是索引号为 ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- python正则表达式 小例几则
会用到的语法 正则字符 释义 举例 + 前面元素至少出现一次 ab+:ab.abbbb 等 * 前面元素出现0次或多次 ab*:a.ab.abb 等 ? 匹配前面的一次或0次 Ab?: A.Ab 等 ...
- Python 正则表达式-OK
Python正则表达式入门 一. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分. 正则表达式是用于处理字符串的强大工具, 拥有自己独特的语法以及一个独立的处理引擎, 效率上 ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
随机推荐
- 列举一些常见的系统系能瓶颈 Common Bottlenecks
http://www.nowamagic.net/librarys/veda/detail/2408在 Zen And The Art Of Scaling - A Koan And Epigram ...
- js日期控件
My97日期控件 官方网站 My97 Datepicker Home http://www.my97.net/
- 工作总结 表单提交中 Input 设置 disabled readonly
input框里面添加disabled属性之后,该内容就无法向上提交 需要的时候也可以再移除disabled readonly这个属性来禁止用户修改, 可以正常提交. Hiddent 隐藏 也可以正 ...
- Introduction to SIFT (Scale-Invariant Feature Transform)
SIFT OpenCV 官方文档: https://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html https://opencv-p ...
- java程序猿常用Linux命令
1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...
- Python实现百度搜索并保存到本地示例,Python实现百度搜索
实现百度搜索并保存到本地 User_Agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko ...
- Mysql中的算术运算符详解
MySQL 支持的算术运算符包括加.减.乘.除和模运算.它们是最常使用.最简单的一类运算符.表4-1 列出了这些运算符及其作用. 下例中简单地描述了这几种运算符的使用方法: mysql> sel ...
- hibernate中一些属性对操作的影响
1 inverse,在一对多中使用,表示是否有关联关系控制权.对于保存.删除数据有影响. 2 cascade,表示级联操作 save-update 表示级联保存和更新 delete 表示级联删除 al ...
- atitit..sql update语法的词法分析,与语法ast构建
atitit..sql update语法的词法分析,与语法ast构建 1. 要使用sql udpate语法的dsl ,需要写个解释器.. 1 2. 词法分析的实现 1 2.1. 扫描器的实现 SqlU ...
- Windows API中的坑
本文主页链接:Windows API中的坑 ExpandEnvironmentStrings 风险: 进程会继承其父进程的环境变量.在展开如%APPDATA%等文件夹时,有可能父进程对此环境变量进行过 ...