欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python妙用re.sub分析正則表達(dá)式匹配過程

系統(tǒng) 1791 0

聲明:本文所使用方法為老猿自行研究并編碼,相關(guān)代碼版權(quán)為老猿所有,禁止轉(zhuǎn)載文章,代碼禁止用于商業(yè)用途!

在《第11.23節(jié) Python 中re模塊的搜索替換功能:sub及subn函數(shù)》介紹了re.sub函數(shù),其中的替換內(nèi)容可以是一個(gè)函數(shù),利用該功能我們可以展示正則表達(dá)式匹配過程中匹配到的目標(biāo)子串的匹配順序、匹配文本的內(nèi)容和匹配文本在搜索文本中的位置。具體實(shí)現(xiàn)如下:

            
              import re
matchcount = 0

def parsematch(patstr,text):
    global matchcount
    matchcount = 0
    re.sub(patstr,matchrsult,text)
    
def matchrsult(m):
    global matchcount
    matchcount += 1   
    print(f"第{matchcount}次匹配,匹配情況:")
    if(m.lastindex):
        for i in range(0,m.lastindex+1):print(f"    匹配子串group({i}): {m.group(i)},位置為:{m.span(i)}") #正則表達(dá)式為{m.re},搜索文本為{m.string},
    else:print(f"    匹配子串group(0): {m.group(0)},位置為:{m.span(0)}")
    return m.group(0)

            
          

調(diào)用舉例:

            
              >>> parsematch(r'(?i)(?P
              
                py\w*)','Python?PYTHON!Learning python with LaoYuan! ')
第1次匹配,匹配情況:
    匹配子串group(0): Python,位置為:(0, 6)
    匹配子串group(1): Python,位置為:(0, 6)
第2次匹配,匹配情況:
    匹配子串group(0): PYTHON,位置為:(7, 13)
    匹配子串group(1): PYTHON,位置為:(7, 13)
第3次匹配,匹配情況:
    匹配子串group(0): python,位置為:(23, 29)
    匹配子串group(1): python,位置為:(23, 29)
>>>
>>> parsematch('(.?)*',"abc")
第1次匹配,匹配情況:
    匹配子串group(0): abc,位置為:(0, 3)
    匹配子串group(1): ,位置為:(3, 3)
第2次匹配,匹配情況:
    匹配子串group(0): ,位置為:(3, 3)
    匹配子串group(1): ,位置為:(3, 3)
>>> 
>>> parsematch('(?P
                
                  Lao)(?P
                  
                    \w+)(Python)','LaoYuanPython')
第1次匹配,匹配情況:
    匹配子串group(0): LaoYuanPython,位置為:(0, 13)
    匹配子串group(1): Lao,位置為:(0, 3)
    匹配子串group(2): Yuan,位置為:(3, 7)
    匹配子串group(3): Python,位置為:(7, 13)
>>>

                  
                
              
            
          

不過上述分析過程僅用于多次搜索到目標(biāo)串的時(shí)候才有作用,如果只是一次匹配到一個(gè)目標(biāo)串,則無需使用該方法,因?yàn)槭褂闷ヅ鋵ο缶秃芊奖愕牟榭雌ヅ湫畔ⅰ?

老猿Python,跟老猿學(xué)Python!
博客地址:https://blog.csdn.net/LaoYuanPython
請大家多多支持,點(diǎn)贊、評論和加關(guān)注!謝謝!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黄色网址av | 国产成年人网站 | 久久草在线视频观看 | 97日日 | 国产精品久久福利新婚之夜 | 久久伊人色综合 | 婷婷国产精品 | 亚洲欧美一区二区三区国产精品 | 狠狠视频 | 天天爽夜夜爽人人爽 | 高清激情小视频在线观看 | 国产精品片aa在线观看 | 蜜臀影院 | 欧美视频在线观看一区二区 | 亚洲精品国偷拍自产在线观看蜜桃 | 天天躁日日躁aaaa视频 | 成在线人免费视频 | 四虎精品 | 久久精品欧美一区二区三区不卡 | 魔法骑士在线观看免费完整版 | 天天插天天射天天干 | 狙击兵2通古电影高清 | 韩国A片国产浪潮AV 久久99国产精品 | 四虎在线视频 | 日产一一到六区麻豆 | a级片免费视频 | 免费播放春色aⅴ视频 | 亚洲精品一区二区三区在线 | 一区二区免费在线 | 久久综合九色综合欧美9v777 | 九色九色九色在线综合888 | 成人免费在线电影 | 五月天婷五月天综合网站 | 91视频这里只有精品 | 亚洲在线一区二区 | 亚洲精品97福利在线 | 欧美激情视频一区二区三区在线播放 | 亚洲成人动漫在线观看 | 国产精品久久嫩一区二区免费 | 日本一区视频在线播放 | 亚洲视频在线观看 |