亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > regex > 正文

正則表達(dá)式之文本模式的匹配和查找

2020-01-20 21:33:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、需求

我們想要按照特定的文本模式進(jìn)行匹配或查找。

2、解決方案

如果想要匹配的只是簡(jiǎn)單的文字,那么通常只需要用基本的字符串方法就可以了,比如str.find()、str.endswith()、str.startswith()或類似函數(shù)。

示例:

text='mark ,帥哥,18,183 帥,mark'print(text=='mark')print(text.startswith('mark'))print(text.startswith('mark'))print(text.find('帥哥'))

結(jié)果:

False
True
True
6

如果更為復(fù)雜的匹配則需要使用正則表達(dá)式以及re模塊。為了說(shuō)明使用正則表達(dá)式的基本流程,假設(shè)我們想匹配以數(shù)字形式構(gòu)成的日期,比如"11/27/2018"。示例如下:

import retext1='11/27/2018'text2='Nov 27, 2018'if re.match(r'/d+//d+//d+',text1):  print('符合模型:數(shù)字/數(shù)字/數(shù)字')else:  print('不符合模型:數(shù)字/數(shù)字/數(shù)字')if re.match(r'/d+//d+//d+',text2):  print('符合模型:數(shù)字/數(shù)字/數(shù)字')else:  print('不符合模型:數(shù)字/數(shù)字/數(shù)字')

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

符合模型:數(shù)字/數(shù)字/數(shù)字
不符合模型:數(shù)字/數(shù)字/數(shù)字

如果打算針對(duì)同一模型做多次匹配,那么通常會(huì)先將正則表達(dá)式模式預(yù)編譯成一個(gè)模式對(duì)象。

例如:

import retext1='11/27/2018'text2='Nov 27, 2018'datepat=re.compile(r'/d+//d+//d+')if datepat.match(text1):  print('符合模型:數(shù)字/數(shù)字/數(shù)字')else:  print('不符合模型:數(shù)字/數(shù)字/數(shù)字')if datepat.match(text2):  print('符合模型:數(shù)字/數(shù)字/數(shù)字')else:  print('不符合模型:數(shù)字/數(shù)字/數(shù)字')

結(jié)果:

符合模型:數(shù)字/數(shù)字/數(shù)字
不符合模型:數(shù)字/數(shù)字/數(shù)字

match()方法總是嘗試在字符串的開(kāi)頭找到匹配項(xiàng)。如果想針對(duì)整個(gè)文本搜索出所有的匹配項(xiàng),那么就應(yīng)該使用findall()方法,例如:

import retext='今天是 11/27/2018,昨天是11/26/2018'datepat=re.compile(r'/d+//d+//d+')print(datepat.findall(text))

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

['11/27/2018', '11/26/2018']

當(dāng)定義正則表達(dá)式時(shí),我們常會(huì)將部分模式用括號(hào)包起來(lái)的方式引入捕獲組,捕獲組通常簡(jiǎn)化后續(xù)對(duì)匹配文本的處理,因?yàn)槊總€(gè)組的內(nèi)容都可以單獨(dú)提取出來(lái)。findall()方法搜索整個(gè)文本并找出所有的匹配項(xiàng)然后將它們以列表的形式返回。如果想以迭代的方式找出匹配項(xiàng),可以使用finditer()方法。

例如:

import re#加入捕獲組datepat=re.compile(r'(/d+)+/(/d+)+/(/d+)')m=datepat.match('11/27/2018')print(m.group(0))print(m.group(1))print(m.group(2))print(m.group(3))print(m.groups())month,day,year=m.groups()print(month)print(day)print(year)print('*'*20)text='今天是 11/27/2018,昨天是11/26/2018'for month,day,year in datepat.findall(text):  print('{}-{}-{}'.format(year,month,day))print('*'*20)for m in datepat.finditer(text):  print(m.groups())

結(jié)果:

11/27/2018
11
27
2018
('11', '27', '2018')
11
27
2018
********************
2018-11-27
2018-11-26
********************
('11', '27', '2018')
('11', '26', '2018')

3、分析

本節(jié)主要介紹了re模塊對(duì)文本匹配和搜索的基本功能,首先用re.compile()對(duì)模式進(jìn)行編譯,然后使用想match()、findall()、finditer()這樣的方法做匹配和搜索。

當(dāng)指定模式時(shí)我們通常會(huì)使用原始字符串,例如:

r'(/d+)/(/d+)/(/d+)'

這樣的字符串不會(huì)對(duì)反斜字符轉(zhuǎn)義,這在正則表達(dá)式中非常有用。否則,我們需要用雙反斜杠線來(lái)標(biāo)識(shí)一個(gè)單獨(dú)的'',例如:

'(//d+)/(//d+)/(//d+)'

請(qǐng)注意match()方法只會(huì)檢查字符的開(kāi)頭,有可能出現(xiàn)的匹配的結(jié)果并不是你想要的,例如:

import re#加入捕獲組datepat=re.compile(r'(/d+)+/(/d+)+/(/d+)')m=datepat.match('11/27/2018xxxx')print(m)

結(jié)果:

<re.Match object; span=(0, 10), match='11/27/2018'>

如果想要精確匹配,可以加一個(gè)結(jié)束標(biāo)記:$

import re#加入捕獲組datepat=re.compile(r'(/d+)+/(/d+)+/(/d+)$')m1=datepat.match('11/27/2018xxxx')m2=datepat.match('11/27/2018')print(m1)print(m2)

結(jié)果:

None
<re.Match object; span=(0, 10), match='11/27/2018'>

如果只是執(zhí)行簡(jiǎn)單的文本匹配和搜索操作,可以省略編譯步驟。
如果打算執(zhí)行很多匹配或查找操作的話,通常需要先將模式編譯然后重復(fù)使用。模塊級(jí)的函數(shù)會(huì)對(duì)最近編譯過(guò)的模式做緩存處理,并且比較省步驟。

總結(jié)

以上所述是小編給大家介紹的正則表達(dá)式之文本模式的匹配和查找,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美亚洲丝袜| 亚洲九九爱视频| 7777精品伊人久久久大香线蕉完整版| 欧美激情第8页| 欧美丰满少妇xxxbbb| 中文字幕日韩免费| 国产免费观看久久| 欧美大香线蕉线伊人久久| 国产精品丝袜在线播放| 国产高清在线不卡| wwwcom羞羞网站| 色狠狠av一区二区三区香蕉蜜桃| 成人av资源电影网站| 欧美性视频一区二区三区| av电影在线播放| 狠狠v欧美ⅴ日韩v亚洲v大胸| 亚洲AV无码成人精品区东京热| 欧美巨乳在线观看| 米奇精品一区二区三区| 一区二区在线观看视频在线观看| 欧美最猛性xxxxx(亚洲精品)| 亚洲电影av在线| 成人精品视频一区| 在线视频免费观看一区| www天堂在线| 加勒比在线一区二区三区观看| 国产麻豆日韩| 欧美激情在线观看视频免费| 在线国产视频观看| 国产制服丝袜在线| 日韩色淫视频| 婷婷综合在线观看| 一区二区三区国产免费| seba5欧美综合另类| 粉嫩高清一区二区三区精品视频| 日本一区二区三区在线免费观看| 亚洲福利视频久久| 欧美日韩高清丝袜| 国产黄色大片免费看| 三级在线观看| 成人三级小说| 91亚洲精品视频| 中文字幕日韩av| 成人一区二区在线观看| 影音先锋成人资源网站| 亚洲一二三四2021不卡| 亚洲一区二区三区高清| 狠狠综合久久av一区二区蜜桃| 九九热精品免费视频| 特黄特色大片免费视频大全| 精品伊人久久久久7777人| 高清国产一区二区三区四区五区| 555www色欧美视频| 97精品在线| 清纯唯美亚洲激情| 亚洲欧美激情国产综合久久久| 在线毛片观看| 午夜羞羞小视频在线观看| 国产成人亚洲综合a∨猫咪| 国产成人精品免费| 伊人久久亚洲| 成人av.网址在线网站| 欧美在线你懂得| 岛国片在线免费观看| 国产精品涩涩涩视频网站| 亚洲影视九九影院在线观看| 久久久久国产精品视频| 999久久久亚洲| 国产乱码精品一区二区三区av| 欧美日韩在线观看免费| 成人a免费视频| 99热这里只有精品在线观看| 国产一区二区三区直播精品电影| 色先锋资源久久综合5566| 99久久国产免费免费| 国产精品亚洲综合天堂夜夜| 日本激情视频网站| 精品一区免费| 国产精品久久久久久久久久东京| 亚洲 美腿 欧美 偷拍| 中文字幕欧美人与畜| 放荡的美妇在线播放| 成人亚洲欧美| 久久最新网址| 国产在线精品一区二区三区》| 91亚洲精品国偷拍自产在线观看| 天天干 夜夜操| 精品国产av无码一区二区三区| canopen超线视频网线的应用| 一区二区三区不卡视频在线观看| 日韩三级在线观看视频| 国产手机免费视频| 日韩大片免费观看视频播放| 国产精品免费一区豆花| 一道精品视频一区二区三区男同| 成人av影院在线| 97精品国产97久久久久久免费| 日韩欧美成人一区二区三区| 亚洲宅男一区| 欧美黑人巨大xxx极品| 波多野结衣啪啪| 国产成人高清在线| 亚洲人成毛片在线播放女女| 国产福利拍拍拍| 韩国成人福利片在线播放| 亚洲乱码国产乱码精品精可以看| 国产美女裸体无遮挡免费视频| 日韩免费黄色片| www.555国产精品免费| 超碰97av在线| 亚洲aa中文字幕| 亚洲999一在线观看www| 日韩av电影在线观看| 亚洲精品成人悠悠色影视| 日本激情五月| 宅男深夜国产| 欧美大学生性色视频| 色婷婷国产精品综合在线观看| 在线视频免费在线观看一区二区| 在线看的av网站| 亚洲福利免费| 亚洲国产欧美日韩精品| 日韩hmxxxx| 超碰97在线资源站| 残酷重口调教一区二区| 成人在线免费观看91| 精品在线观看免费| 一级黄色片国产| 91精品国产综合久久精品图片| 亚洲美女久久久| 国产精品果冻传媒| 一区二区三区四区欧美| 91在线你懂的| 天天爱天天做色综合| 亚洲这里只有精品| 欧美日韩伦理| 精品国产31久久久久久| 中文字幕日韩精品有码视频| 99精品国产福利在线观看免费| 国产l精品国产亚洲区久久| 欧美大胆在线视频| 全球成人免费直播| 国产欧美综合一区| a在线欧美一区| 久久一区二区三区电影| 亚洲国产欧美自拍| 青青草视频在线免费观看| 丁香啪啪综合成人亚洲| 男人操女人的视频网站| 久久精品一二三区| 欧美大片免费看| www99avcom| 亚洲韩国欧洲国产日产av| 在线观看www91| 另类图片综合电影| 影音先锋国产精品| 天天干天天操天天玩| 欧美日韩精品久久久免费观看| 久久男人的天堂| 国产精品bbw一区二区三区| 欧美a在线视频| 久久久久久久电影一区| 秋霞午夜av一区二区三区| 国产成人调教视频在线观看| 91污片在线观看| 亚洲精品suv精品一区二区| 欧美黑人巨大xxxx猛交| 99国产精品久久久久| 天天操天天操天天操天天| a天堂视频在线观看| 欧美视频免费| 国产经典av| 天天做综合网| 欧美午夜精品一区二区| 中文日韩在线视频| 国模无码大尺度一区二区三区| 一本久道中文字幕精品亚洲嫩| 国产精品老女人| 欧美激情视频一区二区三区不卡| 极品销魂一区二区三区| 国产日韩视频一区| 欧美私模裸体表演在线观看| 欧美日韩免费观看一区三区| 国产一区二区三区黄网站| 午夜欧美大尺度福利影院在线看| 丰满少妇又爽又紧又丰满电影| 久久a级毛片毛片免费观看| 欧美爆操老女人| 精品无码一区二区三区的天堂| 亚洲午夜精品一区二区| 777琪琪电影午夜理伦片| 色综合一个色综合亚洲| 欧美三根一起进三p| 可以在线看黄的网站| 亚洲第一天堂无码专区| 成人性生交大片免费看小说| 91精品导航| 噼里啪啦在线中文观看| 久久久高清视频| 亚洲色偷偷综合亚洲av伊人| 欧美成人精品3d动漫h| h视频在线看| 伊人影院在线观看| 国产精品久久一区二区三区不卡| 手机av免费在线观看| 亚洲成人免费观看| 亚洲乱码国产乱码精品精的特点| 1区2区在线| 亚洲а∨精品天堂在线| 亚洲午夜久久久久中文字幕| 北岛玲一区二区| 亚洲福利视频网| **毛片在线网站| 日本一区不卡| 欧美美女一级片| 很黄的网站在线观看| 国产成人在线电影| 久久久久久女乱国产| 国产一级淫片a视频免费观看| 98精品久久久久久久| 成人网6969conwww| 国产精品夜夜夜爽张柏芝| 日本一道本久久| 欧美成人vps| 草草视频在线一区二区| 少妇高潮一区二区三区69| 成人www视频网站免费观看| 第一区免费在线观看| 天天骑天天射| 欧美激情一区二区三区久久久| 日韩国产高清在线| 91国内精品视频| 18欧美乱大交hd1984| 欧美 日韩 激情| 男女无套免费网站| 中文字幕天堂网| 91精品国产91久久久久久黑人| 一级在线观看视频| 538国产精品视频一区二区| 丝袜脚交免费网站xx| 55夜色66夜色国产精品视频| 性欧美高清视频| 中文字幕无码精品亚洲35| 国产欧美一级| 国产91精品对白在线播放| 中文字幕视频在线观看| 亚洲欧洲日韩综合| 蜜桃视频涩涩| 亚洲va天堂va欧美ⅴa在线| 欧美精品一区二区在线播放| 在线看片免费人成视久网| 黄色高清在线观看| 亚洲自拍欧美另类| 久久久精品久久久久| 精品国产99国产精品| 石原莉奈一区二区三区高清在线| 91精品在线视频观看| 亚洲小说欧美另类婷婷| 佐山爱痴汉视频一区二区三区| 日韩av电影免费观看高清完整版| 78色国产精品| 香蕉久久aⅴ一区二区三区| 久久国产88| 欧美国产日韩在线观看| 51精品视频一区二区三区| 国产少妇在线观看| 亚洲综合自拍偷拍| 久久成人亚洲精品| 国产91精品入口17c| 99视频资源网| av大片免费在线观看| 免费日韩av| 精品一区二区免费看| 精品亚洲一区二区三区四区| 亚洲免费视频中文字幕| 日本激情视频网站| 亚洲最大的免费视频网站| 亚洲三级色网| 菠萝蜜视频网站入口| 中文字幕第80页| 亚洲成人7777| 福利一区在线| 国产剧情在线一区| 欧美精品99久久久**| 亚洲综合色噜噜狠狠| 亚洲国产精品一区二区久久hs| 国产一级一级国产| 国产亚洲欧美视频| 99视频精品| 欧美在线制服丝袜| 国产精品国产三级国产普通话99| 无码av天堂一区二区三区| 国产午夜在线视频| 亚洲色图视频网| 国产情侣一区二区| 99国产精品国产精品久久| 久久91精品久久久久久秒播| 妞干网在线视频| 成人一区二区av| 国产一区二区日韩精品| 久久久无码精品亚洲日韩按摩| 亚洲男人第一天堂| www.av天天| 在线观看日本www| 美女av电影| 1024在线视频| 久久综合色播五月| 亚洲男人天堂久| 久久国产精品99精品国产| 欧美日韩亚洲精品一区二区三区| 91精品国产乱码久久久久久久| 亚洲电影免费观看高清完整版在线| jizz视频18| 91国产高清在线| 欧美久久久久久久久久久久久| 欧美日韩激情在线观看| 成人av免费| 中文字幕精品久久久| 精品国产乱码久久久久久108| 51社区在线成人免费视频| 亚洲精品美女久久久久| 精品国产户外野外| 色视频欧美一区二区三区| 四虎永久在线精品免费网址| 在线观看免费污视频| 99精品免费在线观看| 日本人体一区二区| 91精品入口蜜桃|