最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中如何正確使用正則表達(dá)式的詳細(xì)模式(Verbose mode expression)

 更新時(shí)間:2017年11月08日 11:43:03   作者:caimouse  
許多程序設(shè)計(jì)語言都支持利用正則表達(dá)式進(jìn)行字符串操作,python自然也不例外,下面這篇文章主要給大家介紹了關(guān)于在python中如何正確使用正則表達(dá)式的詳細(xì)模式(Verbose mode expression)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。

簡(jiǎn)單介紹

正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)特的語法以及一個(gè)獨(dú)立的處理引擎,效率上可能不如str自帶的方法,但功能十分強(qiáng)大。得益于這一點(diǎn),在提供了正則表達(dá)式的語言里,正則表達(dá)式的語法都是一樣的,區(qū)別只在于不同的編程語言實(shí)現(xiàn)支持的語法數(shù)量不同;但不用擔(dān)心,不被支持的語法通常是不常用的部分。如果已經(jīng)在其他語言里使用過正則表達(dá)式,只需要簡(jiǎn)單看一看就可以上手了。

下圖展示了使用正則表達(dá)式進(jìn)行匹配的流程:

正則表達(dá)式的大致匹配過程是:依次拿出表達(dá)式和文本中的字符比較,如果每一個(gè)字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。

引言

當(dāng)大家寫的正則表達(dá)式比較長(zhǎng),比較復(fù)雜時(shí),發(fā)現(xiàn)經(jīng)常會(huì)寫錯(cuò),或者很難維護(hù),遇到這種情況怎么辦呢?這個(gè)不用急,聰明的設(shè)計(jì)人員早已經(jīng)想到這種情況了,提供了一種叫做詳細(xì)模式(Verbose mode expression)。當(dāng)你使用這種模式時(shí),可以給正則表達(dá)式添加注釋,這樣在維護(hù)時(shí)就不會(huì)像看天書了,同時(shí)也可以添加額外的空格,進(jìn)行對(duì)齊排版。

緊湊模式的例子:

import re 
 
address = re.compile('[\w\d.+-]+@([\w\d.]+\.)+(com|org|edu)') 
 
candidates = [ 
 u'first.last@example.com', 
 u'first.last+category@gmail.com', 
 u'valid-address@mail.example.com', 
 u'not-valid@example.foo', 
] 
 
for candidate in candidates: 
 match = address.search(candidate) 
 print('{:<30} {}'.format( 
 candidate, 'Matches' if match else 'No match') 
 )

詳細(xì)模式的修改之后:

#python 3.6 
#蔡軍生 
#http://blog.csdn.net/caimouse/article/details/51749579 
# 
import re 
 
address = re.compile( 
 ''''' 
 [\w\d.+-]+ # username 
 @ 
 ([\w\d.]+\.)+ # domain name prefix 
 (com|org|edu) # TODO: support more top-level domains 
 ''', 
 re.VERBOSE) 
 
candidates = [ 
 u'first.last@example.com', 
 u'first.last+category@gmail.com', 
 u'valid-address@mail.example.com', 
 u'not-valid@example.foo', 
] 
 
for candidate in candidates: 
 match = address.search(candidate) 
 print('{:<30} {}'.format( 
 candidate, 'Matches' if match else 'No match'), 
 ) 

結(jié)果輸出如下:

first.last@example.com  Matches
first.last+category@gmail.com Matches
valid-address@mail.example.com Matches
not-valid@example.foo  No match

參數(shù)解釋:X    VERBOSE

該標(biāo)志通過給予你更靈活的格式以便你將正則表達(dá)式寫得更易于理解。當(dāng)該標(biāo)志被指定時(shí),在 RE 字符串中的空白符被忽略,除非該空白符在字符類中或在反斜杠之後;這可以讓你更清晰地組織和縮進(jìn) RE。它也可以允許你將注釋寫入 RE,這些注釋會(huì)被引擎忽略;注釋用 "#"號(hào) 來標(biāo)識(shí),不過該符號(hào)不能在字符串或反斜杠之後。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python中的字典到底是有序的嗎

    Python中的字典到底是有序的嗎

    很多人會(huì)問Python中的字典到底是有序的嗎,本文就詳細(xì)的來介紹一下,感興趣的可以了解一下
    2021-09-09
  • Python正則捕獲操作示例

    Python正則捕獲操作示例

    這篇文章主要介紹了Python正則捕獲操作,結(jié)合具體實(shí)例形式分析了Python基于正則表達(dá)式的分組、捕獲、替換等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • flask操作數(shù)據(jù)庫相關(guān)配置及實(shí)現(xiàn)示例步驟全解

    flask操作數(shù)據(jù)庫相關(guān)配置及實(shí)現(xiàn)示例步驟全解

    這篇文章主要介紹了flask操作數(shù)據(jù)庫相關(guān)配置及實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python爬蟲爬取網(wǎng)頁數(shù)據(jù)并解析數(shù)據(jù)

    python爬蟲爬取網(wǎng)頁數(shù)據(jù)并解析數(shù)據(jù)

    這篇文章主要介紹了python爬蟲如何爬取網(wǎng)頁數(shù)據(jù)并解析數(shù)據(jù),幫助大家更好的利用爬蟲分析網(wǎng)頁,感興趣的朋友可以了解下
    2020-09-09
  • python爬蟲超時(shí)的處理的實(shí)例

    python爬蟲超時(shí)的處理的實(shí)例

    今天小編就為大家分享一篇python爬蟲超時(shí)的處理的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python中函數(shù)的多種格式和使用實(shí)例及小技巧

    Python中函數(shù)的多種格式和使用實(shí)例及小技巧

    這篇文章主要介紹了Python中函數(shù)的多種格式和使用實(shí)例及小技巧,本文講解了普通格式、帶收集位置參數(shù)的函數(shù)、帶收集關(guān)鍵字參數(shù)的函數(shù)、函數(shù)特殊用法、內(nèi)嵌函數(shù)和閉包等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 50行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤(必須以紅色為例)

    50行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤(必須以紅色為例)

    本文通過50行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤效果,通過實(shí)例截圖和實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下
    2019-11-11
  • Python argv用法詳解

    Python argv用法詳解

    這篇文章主要介紹了Python argv用法詳解的相關(guān)資料,涉及到python argv相關(guān)知識(shí),需要的朋友可以參考下
    2016-01-01
  • 詳解python第三方庫的安裝、PyInstaller庫、random庫

    詳解python第三方庫的安裝、PyInstaller庫、random庫

    這篇文章主要介紹了python第三方庫的安裝、PyInstaller庫、random庫,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python利器openpyxl之操作excel表格

    Python利器openpyxl之操作excel表格

    這篇文章主要給大家介紹了關(guān)于Python利器openpyxl之操作excel表格的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論

巴林左旗| 房山区| 湖南省| 临颍县| 广饶县| 彰化市| 富平县| 桐城市| 德格县| 梅河口市| 日照市| 东港市| 光泽县| 崇信县| 大邑县| 山阳县| 鲁山县| 横峰县| 永济市| 莱阳市| 合肥市| 新安县| 内黄县| 原阳县| 青田县| 灵台县| 汝城县| 诸城市| 大宁县| 塘沽区| 同仁县| 桑植县| 正蓝旗| 西吉县| 龙游县| 靖边县| 汝阳县| 伊宁县| 寻乌县| 盐源县| 嘉善县|