Python for Informatics 第11章之正则表达式(二)


Posted in Python onApril 21, 2016

注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》

11.1 正则表达式的字符匹配

我们可以用许多其它的特殊字符创建更加强大的正则表达式。最常用的特殊符号是可匹配任何字符的句号(".")。在以下的示例中,正则表达式”F..m:“将匹配”From:”,“Fxxm:",”F12m:“,或者”F!@m:“等类似字符串,因为表达式中间的句号可匹配任何字符。

import re
 hand = open('mbox-short.txt')
 for line in hand:
  line = line.rstrip()
  if re.search('^F..m:', line):
   print line

在正则表达式中组合使用表示一个字符任意重复次数的星号(”*")和加号("+")会使表达式特别强大。其中星号表示在查找的字符串中,匹配字符可以重复出现零次以上,而加号则是重复一次以上。

在下面的示例中,我们使用重复的通配符进一步缩小我们的查找范围:

import re
 hand = open('mbox-short.txt')
 for line in hand:
  line = line.rstrip()
  if re.search('^From:.+@', line):
   print(line)

查找字符串“From:.+@”将成功匹配那些以“From:”开头,接着跟着一个以上任意字符,再跟着一个“@”符的行。所以这会匹配类似以下的行:

From: stephen.marquard @uct.ac.za

这个".+"通配符扩展匹配所有从冒号到@符之间的所有字符。

From:.+@

加号和星号符的“一意孤行”的被认为是好的。例如以下的字符串将被外推至最后的@符而匹配:

From:stephen.marquard@uct.ac.za, csev@umich.edu, and cwen @iupui.edu

让星号符和加号符不这么贪婪也是可以的,但是需要添加另外的符号。如何关闭它们贪婪的行为请参看详细的文档。

相关阅读:

关于Python for Informatics 第11章 正则表达式(二)的相关内容就给大家介绍这么多,后续还会持续更新,更多精彩内容敬请关注!

Python 相关文章推荐
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
python进行TCP端口扫描的实现
Dec 21 Python
Python爬虫学习之翻译小程序
Jul 30 Python
对django 模型 unique together的示例讲解
Aug 06 Python
Python 实现try重新执行
Dec 21 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
python如何编写win程序
Jun 08 Python
Python3读写ini配置文件的示例
Nov 06 Python
Python实现打乒乓小游戏
Sep 25 Python
Python使用MapReduce进行简单的销售统计
Apr 22 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 #Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 #Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 #Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 #Python
详解Python命令行解析工具Argparse
Apr 20 #Python
利用Python如何生成随机密码
Apr 20 #Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 #Python
You might like
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
php学习笔记之 函数声明(二)
2011/06/09 PHP
php获取远程文件内容的函数
2015/11/02 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
再论Javascript的类继承
2011/03/05 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
在Python的web框架中配置app的教程
2015/04/30 Python
对python中return和print的一些理解
2017/08/18 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Django models filter筛选条件详解
2020/03/16 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
承诺书的格式范文
2014/03/28 职场文书
三项教育活动实施方案
2014/03/30 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
财务工作失职检讨书
2014/11/21 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书