注:以下文章原文来自于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 for Informatics 第11章之正则表达式(四)
关于Python for Informatics 第11章 正则表达式(二)的相关内容就给大家介绍这么多,后续还会持续更新,更多精彩内容敬请关注!
python,正则表达式
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]