成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

正則表達式+Python re模塊詳解

瀏覽:87日期:2022-08-01 13:46:47

正則表達式(Regluar Expressions)又稱規(guī)則表達式,在代碼中常簡寫為REs,regexes或regexp(regex patterns)。它本質(zhì)上是一個小巧的、高度專用的編程語言。 通過正則表達式可以對指定的文本實現(xiàn)匹配測試、內(nèi)容查找、內(nèi)容替換、字符串分割 等功能。

re模塊介紹

Python中的re模塊提供了一個正則表達式引擎接口,它允許我們將正則表達式編譯成模式對象,然后通過這些模式對象執(zhí)行模式匹配搜索和字符串分割、子串替換等操作。re模塊為這些操作分別提供了模塊級別的函數(shù)以及相關(guān)類的封裝。

正則表達式一些小規(guī)則 ①元字符

正則表達式+Python re模塊詳解

②量詞

正則表達式+Python re模塊詳解

③貪婪和非貪婪匹配

總是在量詞范圍內(nèi)盡量多匹配 - 貪婪 總是在量詞范圍內(nèi)盡量少匹配 - 惰性 .*?x 匹配任意內(nèi)容任意次數(shù) 遇到x就停止 .+?x 匹配任意內(nèi)容至少1次 遇到x就停止

④轉(zhuǎn)義符問題

. 有特殊的意義,取消特殊的意義 取消一個元字符的特殊意義有兩種方法 在這個元字符前面加 對一部分字符生效,把這個元字符放在字符組里 [.()+?*]

Python --> re模塊

findall會優(yōu)先顯示分組內(nèi)的內(nèi)容*****取消優(yōu)先顯示(?:正則)search只能返回第一個符合條件的項得到的結(jié)果需要.group取值默認(rèn)獲取完整的匹配結(jié)果通過group(n)取第n個分組中的內(nèi)容

# search 還是按照完整的正則進行匹配,顯示也顯示匹配到的第一個內(nèi)容,但是我們可以通過給group方法傳參數(shù)# 來獲取具體文組中的內(nèi)容ret = re.search(’9(d)(d)’,’19740ash93010uru’)print(ret) # 變量 -- > <re.Match object; span=(1, 4), match=’974’>if ret: print(ret.group()) # --> 974 print(ret.group(1)) # --> 7 print(ret.group(2)) # --> 4# findall # 取所有符合條件的,優(yōu)先顯示分組中的# search 只取第一個符合條件的,沒有優(yōu)先顯示這件事兒 # 得到的結(jié)果是一個變量 # 變量.group() 的結(jié)果 完全和 變量.group(0)的結(jié)果一致 # 變量.group(n) 的形式來指定獲取第n個分組中匹配到的內(nèi)容# 加上括號 是為了對真正需要的內(nèi)容進行提取ret = re.findall(’<w+>(w+)</w+>’,’<h1>askh930s02391j192agsj</h1>’)print(ret) # --> [’askh930s02391j192agsj’]

其他的內(nèi)容在代碼中有詳細的注釋,大家可以復(fù)制我的代碼一步一步運行然后實驗

以下的內(nèi)容有:split sub subn math,compile,finditer

# split sub subn math,compile,finditer# splitres = re.split(’d+’, 'cyx123456cyxx')print(res) # --> [’cyx’, ’cyxx’]res = re.split(’(d+)’, 'cyx123456cyxx') # 保留分組print(res) # --> [’cyx’, ’123456’, ’cyxx’]# sub 替換res = re.sub(’d+’, ’我把數(shù)字替換了’, 'cyx123456cyxxx123456') # 默認(rèn)全部替換,當(dāng)然也可以替換一次re.sub(’d+’,’我把數(shù)字替換了’,'cyx123456cyxxx123456',1)print(res) # --> cyx我把數(shù)字替換了cyxxx我把數(shù)字替換了# subn 替換了并顯示替換的次數(shù)res = re.subn(’d+’, ’我把數(shù)字替換了’, 'cyx123456cyxxx123456')print(res) # --> (’cyx我把數(shù)字替換了cyxxx我把數(shù)字替換了’, 2)# match 這個就相當(dāng)與加了個^ (和search差不多) --> 主要用來規(guī)定這個字符號必須是什么樣的res = re.match(’d+’, ’cyx123456cyxxx’)print(res) # --> Noneres = re.match(’d+’, ’123cyx456cyxxx’)print(res.group()) # --> 123# compile -- 節(jié)省代碼的時間的工具# 假如同一個正則表達式要被使用多次# 節(jié)省了多次解析同一個正則表達式的時間ret = re.compile('d+')res = ret.search('cyx12456cyxXX123')print(res.group()) # --> 12456# finditer --> 節(jié)省空間ret = re.finditer('d+', 'cyx123456cyxxx125644')for r in ret: print(r.group()) # --> 123456 # 125644# 怎么又節(jié)省時間又節(jié)省空間呢?ret = re.compile(’d+’)res = ret.finditer('cyx222231fddsf45746sdf2123sdf56456sdf10123sdf123132sdf')for r in res: print(r.group())'''2222314574621235645610123123132'''# 分組命名(?P<組名>正則) (?P=組名)# 有的時候我們要匹配的內(nèi)容是包含在不想要的內(nèi)容之中的,# 只能先把不想要的內(nèi)容匹配出來,然后再想辦法從結(jié)果中去掉# 分組命名的用法 (找兩個組里面是一樣的內(nèi)容)exp = ’<abc>asdasf54545645698asdasd</abc>00545sdfsdf</abd>’ret = re.search(’<(?P<tag>w+)>.*?</(?P=tag)’, exp)print(ret) # -- > <re.Match object; span=(0, 33), match=’<abc>asdasf54545645698asdasd</abc’># exp2:import reret = re.search(’d(d)d(w+?)(d)(w)d(d)d(?P<name1>w+?)(d)(w)d(d)d(?P<name2>w+?)(d)(w)’,’123abc45678agsf_123abc45678agsf123abc45678agsf’)print(ret.group(’name1’)) # -- > agsf_123abcprint(ret.group(’name2’)) # -- > agsf

今日小思考

當(dāng)我們有一個這樣的列表:

lis = [’’, ’z’, ’c’, ’asd’, ’sdf’, ’’, ’asd’]

那么我們?nèi)绾螌⒗锩娴目兆址麆h除呢?

ret = filter(lambda n: n, lis)print(list(ret)) # --> [’z’, ’c’, ’asd’, ’sdf’, ’asd’]

總結(jié)

到此這篇關(guān)于正則表達式+Python re模塊詳解的文章就介紹到這了,更多相關(guān)正則表達式 python re模塊內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
美女网站一区二区| 国产精品久久精品日日| 亚洲成人av一区二区三区| 91精品国产综合久久久久久久久久 | 国产乱色国产精品免费视频| 2023国产精品| 欧美三级蜜桃2在线观看| 亚洲国内自拍| 99精品视频一区| 国产精品一二三区| 蜜桃视频免费观看一区| xnxx国产精品| 久久亚洲精选| 亚洲综合99| 亚洲激情亚洲| 欧美+日本+国产+在线a∨观看| 欧美一级片在线| 国产一级久久| 99久久99久久精品免费观看| 香港成人在线视频| 国产精品传媒入口麻豆| 精品国产一区久久| 欧美日高清视频| 欧美一区综合| 亚洲精品乱码久久久久久黑人| 国产精品成人免费| 午夜在线精品| 一区二区视频欧美| 国产美女视频一区| 美女免费视频一区| 亚洲三级免费电影| 国产午夜精品理论片a级大结局| 成人免费视频网站在线观看| 一区二区国产视频| 玉米视频成人免费看| 国产欧美精品一区aⅴ影院| 欧美性大战久久久久久久蜜臀| 国产精品夜夜嗨| 欧美a一区二区| 天天影视色香欲综合网老头| 婷婷中文字幕一区三区| 午夜电影网亚洲视频| 久久精品国产久精国产| 国产在线观看免费一区| bt欧美亚洲午夜电影天堂| 91免费国产在线| 亚洲激情在线| 国产激情视频一区二区三区欧美| 一本大道av伊人久久综合| 一本综合精品| 国产精品美女诱惑| 性刺激综合网| 久久xxxx精品视频| 欧美网站大全在线观看| 欧美日韩国产综合一区二区| 日本韩国一区二区| 欧美日韩高清一区二区不卡| 3d成人动漫网站| 日韩欧美不卡在线观看视频| 欧美大片在线观看一区二区| 精品乱人伦小说| 国产精品污污网站在线观看| 亚洲人精品午夜| 亚洲自拍偷拍麻豆| 青椒成人免费视频| 高清免费成人av| 国语自产精品视频在线看抢先版结局| 久久国内精品自在自线400部| 精品精品国产高清a毛片牛牛| 国产精品久久久久久久久婷婷| 激情五月婷婷综合网| 丰满亚洲少妇av| 欧美视频成人| 在线亚洲欧美专区二区| 2023国产精品| 天天色天天爱天天射综合| 国产91精品免费| 国产日韩欧美一区| 色哟哟精品一区| 欧美v日韩v国产v| 一区二区三区精品久久久| 老司机精品视频一区二区三区| 一区二区三区视频在线观看| 亚洲二区在线观看| 亚洲欧美国产三级| 伦理电影国产精品| 欧美日韩一区二区三区在线观看免| 极品少妇xxxx偷拍精品少妇| aaa亚洲精品| 久久久久高清| 欧美性xxxxxx少妇| 欧美美女黄视频| 精品久久久影院| 久久久亚洲精品石原莉奈| 精品久久久影院| 最新日韩av在线| 日韩中文字幕一区二区三区| 国产成人在线观看| 99久久久精品| 久久国产日本精品| 国产午夜亚洲精品理论片色戒 | 精品亚洲国内自在自线福利| 9人人澡人人爽人人精品| 色综合久久久久久久久久久| 国产精品热久久久久夜色精品三区 | 亚洲激情中文1区| 成人综合日日夜夜| 91国偷自产一区二区开放时间 | 91精品久久久久久久99蜜桃| 国产欧美日韩中文久久| 国产在线精品一区二区| 午夜在线精品| 亚洲免费资源在线播放| 国产不卡在线视频| 亚洲精品国产日韩| 日韩午夜av电影| 午夜精品福利视频网站| 91在线视频官网| 色综合久久久网| 久久综合色鬼综合色| 亚洲一区二区三区在线播放| 国产91色综合久久免费分享| 一本大道久久a久久综合 | 奇米精品一区二区三区在线观看一| 亚洲自拍另类综合| hitomi一区二区三区精品| 日韩电影在线一区二区| 国产主播一区| 蜜桃久久av| 国产欧美日韩在线看| 美洲天堂一区二卡三卡四卡视频| 中文字幕亚洲不卡| 狠狠久久亚洲欧美| 日本伦理一区二区| 日韩精品视频网| 免费欧美日韩| 亚洲国产精品久久久男人的天堂 | 先锋影音一区二区三区| 欧美一区二区三区小说| 亚洲国产精品久久久久婷婷884 | av动漫一区二区| 色av成人天堂桃色av| 久久er精品视频| 欧美电影一区二区三区| 久久er精品视频| xfplay精品久久| 在线观看一区欧美| 一区二区三区在线免费观看| 久久精品首页| 狠狠狠色丁香婷婷综合激情 | 日韩精品一区第一页| 六月丁香综合| 国产一区在线观看麻豆| 国产欧美综合在线| 免费国产一区二区| 国产91在线观看| 亚洲欧美偷拍卡通变态| 久久久久久一区| 成人福利在线看| 亚洲激情图片小说视频| 欧美日韩免费不卡视频一区二区三区 | 美女视频黄 久久| 久久亚洲综合色| 国产精品日韩二区| 国产福利精品导航| 综合婷婷亚洲小说| 欧美高清www午色夜在线视频| 亚洲影院久久精品| 4438x成人网最大色成网站| 欧美日韩国产亚洲一区| 亚洲国产综合人成综合网站| 欧美电影在哪看比较好| 伊人成人在线视频| 国产真实乱偷精品视频免| 欧美激情一区二区| 欧美日韩中文精品| 欧美日本一区| 成人综合婷婷国产精品久久| 日韩av网站免费在线| 国产午夜精品一区二区三区视频| 91老司机福利 在线| 一区二区三区电影在线播| 日韩欧美不卡在线观看视频| 麻豆91精品| 欧美一区二区三区另类| 麻豆久久一区二区| 亚洲美女屁股眼交3| 久久蜜臀精品av| 欧美三级欧美一级| 亚洲巨乳在线| 欧美日韩亚洲一区| 成人av电影在线| 国产精品一色哟哟哟| 日本亚洲一区二区| 一区二区在线免费观看| 亚洲欧洲精品一区二区| 91网上在线视频| 亚洲免费不卡| 国产精品一区二区三区观看| 国产区日韩欧美|