Python for Informatics 第11章之正則表達(dá)式(二)
注:以下文章原文來(lái)自于Dr Charles Severance 的 《Python for Informatics》
11.1 正則表達(dá)式的字符匹配
我們可以用許多其它的特殊字符創(chuàng)建更加強(qiáng)大的正則表達(dá)式。最常用的特殊符號(hào)是可匹配任何字符的句號(hào)(".")。在以下的示例中,正則表達(dá)式”F..m:“將匹配”From:”,“Fxxm:",”F12m:“,或者”F!@m:“等類似字符串,因?yàn)楸磉_(dá)式中間的句號(hào)可匹配任何字符。
import re
hand = open('mbox-short.txt')
for line in hand:
line = line.rstrip()
if re.search('^F..m:', line):
print line
在正則表達(dá)式中組合使用表示一個(gè)字符任意重復(fù)次數(shù)的星號(hào)(”*")和加號(hào)("+")會(huì)使表達(dá)式特別強(qiáng)大。其中星號(hào)表示在查找的字符串中,匹配字符可以重復(fù)出現(xiàn)零次以上,而加號(hào)則是重復(fù)一次以上。
在下面的示例中,我們使用重復(fù)的通配符進(jìn)一步縮小我們的查找范圍:
import re
hand = open('mbox-short.txt')
for line in hand:
line = line.rstrip()
if re.search('^From:.+@', line):
print(line)
查找字符串“From:.+@”將成功匹配那些以“From:”開(kāi)頭,接著跟著一個(gè)以上任意字符,再跟著一個(gè)“@”符的行。所以這會(huì)匹配類似以下的行:
From: stephen.marquard @uct.ac.za
這個(gè)".+"通配符擴(kuò)展匹配所有從冒號(hào)到@符之間的所有字符。
From:.+@
加號(hào)和星號(hào)符的“一意孤行”的被認(rèn)為是好的。例如以下的字符串將被外推至最后的@符而匹配:
From:stephen.marquard@uct.ac.za, csev@umich.edu, and cwen @iupui.edu
讓星號(hào)符和加號(hào)符不這么貪婪也是可以的,但是需要添加另外的符號(hào)。如何關(guān)閉它們貪婪的行為請(qǐng)參看詳細(xì)的文檔。
相關(guān)閱讀:
Python for Informatics 第11章 正則表達(dá)式(一)
Python for Informatics 第11章之正則表達(dá)式(四)
關(guān)于Python for Informatics 第11章 正則表達(dá)式(二)的相關(guān)內(nèi)容就給大家介紹這么多,后續(xù)還會(huì)持續(xù)更新,更多精彩內(nèi)容敬請(qǐng)關(guān)注!
相關(guān)文章
Python+Pygame實(shí)現(xiàn)簡(jiǎn)單的射擊小游戲
要說(shuō)什么游戲能夠獲得大家的喜愛(ài),唯射擊游戲莫屬!本文將利用Python和Pygame庫(kù)制作一個(gè)簡(jiǎn)單的射擊小游戲,感興趣的小伙伴可以了解一下2022-04-04
python獲取點(diǎn)擊的坐標(biāo)畫(huà)圖形的方法
今天小編就為大家分享一篇python獲取點(diǎn)擊的坐標(biāo)畫(huà)圖形的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python庫(kù)skimage給灰度圖像染色的方法示例
這篇文章主要介紹了python庫(kù)skimage給灰度圖像染色的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Python入門(mén)教程(十一)Python中的運(yùn)算符
這篇文章主要介紹了Python入門(mén)教程(十一)Python中的運(yùn)算符,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下2023-04-04
Python多維/嵌套字典數(shù)據(jù)無(wú)限遍歷的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇Python多維/嵌套字典數(shù)據(jù)無(wú)限遍歷的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11

