這篇文章將為大家詳細(xì)講解有關(guān)python中正則表達(dá)式與模式匹配的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)專注于雙塔企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。雙塔網(wǎng)站建設(shè)公司,為雙塔等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)提取特定內(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é)果如下:
前兩行打印出了匹配內(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)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。