溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中正則表達(dá)式與模式匹配的示例分析

發(fā)布時(shí)間:2021-08-26 11:03:45 來源:億速云 閱讀:120 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)python中正則表達(dá)式與模式匹配的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

提取特定內(nèi)容示例

  需求:找出文本中所有的電話號(hào)碼和郵件地址。設(shè)計(jì)方案:在剪貼板的文本中提取出所有與電話號(hào)碼和郵件地址格式匹配的字符串。有了需求和設(shè)計(jì)方案,現(xiàn)根據(jù)電話號(hào)碼和郵箱地址格式編寫正則表達(dá)式。先來看看程序代碼,再做講解。

PhoneAndEmail.py

  此處電話號(hào)碼的格式是:三個(gè)數(shù)字組成的區(qū)號(hào)(可選),三個(gè)數(shù)字,四個(gè)數(shù)字,任意數(shù)空格+ext/x/ext.+任意數(shù)空格+2到5個(gè)數(shù)字組成的分機(jī)號(hào)(可選)。每個(gè)部分間以“-”號(hào)連接。郵箱地址格式:由字母、數(shù)字以及_%+-符號(hào)組成的用戶名,@符號(hào)以及.后的域名,域名由2-4個(gè)字母和數(shù)字集合組成。根據(jù)上述模式可編寫對(duì)應(yīng)的正則表達(dá)式。

  python的模式匹配有一個(gè)簡(jiǎn)單固定的套路,import導(dǎo)入re包,regex = re.compile('''<正則表達(dá)式>''')。<模式匹配的內(nèi)容列表> = regex.findall(<待搜索字符串>)。三步搞定。編寫正則表達(dá)式時(shí),在字符串前加r防止字符轉(zhuǎn)義。將各個(gè)部分分組并換行以提高代碼的可讀性,此時(shí)需要將re.VERBOSE作為re.compile()函數(shù)的第二個(gè)參數(shù)傳入來忽略表達(dá)式中的空白和換行。

運(yùn)行結(jié)果

  復(fù)制代碼首部注釋掉的文本,然后運(yùn)行程序。結(jié)果如下:

python中正則表達(dá)式與模式匹配的示例分析

  前兩行打印出了匹配內(nèi)容的列表,之后以自定義的統(tǒng)一格式打印欲搜索的內(nèi)容。程序運(yùn)行結(jié)果正確。本文以一個(gè)小例子測(cè)試了python正則表達(dá)式提取文本特定內(nèi)容的功能,之后想嘗試?yán)胮ython自動(dòng)生成verilogHDL中module的例化模板。

關(guān)于“python中正則表達(dá)式與模式匹配的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI