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

淺談python正則的常用方法 覆蓋范圍70%以上

 更新時(shí)間:2018年03月14日 10:46:18   作者:Cookie-Fei  
這篇文章主要為大家詳細(xì)介紹了python正則的常用方法,覆蓋范圍70%以上,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

上一次很多朋友寫文字屏蔽說(shuō)到要用正則表達(dá),其實(shí)不是我不想用(我正則用得不是很多,看過(guò)我之前爬蟲的都知道,我直接用BeautifulSoup的網(wǎng)頁(yè)標(biāo)簽去找內(nèi)容,因?yàn)槿菀桌斫庖卜奖?,),而是正則用好用精通的很難(看過(guò)正則表的應(yīng)該都知道,里面符號(hào)對(duì)應(yīng)的方法規(guī)則有很多,很靈活),對(duì)于接觸編程不久的朋友們來(lái)說(shuō)很可能在編程的過(guò)程上浪費(fèi)很多時(shí)間,今天我把經(jīng)常會(huì)用到正則簡(jiǎn)單介紹下,如果不是很特殊基本都覆蓋使用。

1.正則的簡(jiǎn)單介紹

首先你得導(dǎo)入正則方法 import re正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)立的處理機(jī)制,效率上可能不如str自帶的方法,但功能十分靈活給力。它的運(yùn)行過(guò)程是先定一個(gè)匹配規(guī)則("你想要的內(nèi)容+正則語(yǔ)法規(guī)則"),放入要匹配的字符串,通過(guò)正則內(nèi)部的機(jī)制就能檢索你想要的信息。

2.findall的常用幾種姿勢(shì)

基本結(jié)構(gòu)大致: nojoke = re.findall(r'匹配的規(guī)則','要檢索的愿字符串') nojoke就是我們最后通過(guò)正則返回的結(jié)果,re正則findall查找全部r標(biāo)識(shí)代表后面是正則的語(yǔ)句(這樣在代碼多的時(shí)候好查閱),下面我們看看幾個(gè)例子好深入了解

這段代碼是找出檢索字符串中所有的bi并以列表的形式返回,這個(gè)會(huì)經(jīng)常用到計(jì)算統(tǒng)一字符出現(xiàn)的次數(shù)。繼續(xù)看下一個(gè)

這里加了個(gè)符號(hào)^表示匹配以abi開頭的的字符串返回,也可以判斷字符串是否以abi開始的。

這里在的用$符號(hào)表示以gbi結(jié)尾的字符串返回,判斷是否字符串結(jié)束的字符串。

這里[...]的意思匹配括號(hào)內(nèi)a和f,或者b和f,或者c和f的值返回列表。

“\d”是正則語(yǔ)法規(guī)則用來(lái)匹配0到9之間的數(shù)返回列表,需要注意的是11會(huì)當(dāng)成字符串'1'和'1'返回而不是返回'11'這個(gè)字符串,切記用不好這里是大坑。

當(dāng)然解決的辦法就你要取幾位數(shù)就寫幾個(gè)\d,上面這里演示取字符串中3位數(shù)字,這里展現(xiàn)了正則靈活一方面。

這里小d表示取數(shù)字0-9,大D表示不要數(shù)字,也就是出了數(shù)字以外的內(nèi)容返回。

“\w”在正則里面代表匹配從小寫a到z,大寫A到Z,數(shù)字0到9包含前面這三種的如上面打印的一樣.

"\W"在正則里面代表匹配除了字母與數(shù)字以外的特殊符號(hào),但這里\斜杠的用法要注意在字符串\是轉(zhuǎn)義符號(hào)具體百度去學(xué)。

這里括號(hào)()的用法表示匹配是取括號(hào)內(nèi)里面的內(nèi)容,這里.*是正則貪婪匹配語(yǔ)法百話點(diǎn)就是貪心利益最大話最大范圍的匹配準(zhǔn)則如上圖所示。

這里加了個(gè)問(wèn)號(hào).*?就是限制它不讓他最大范圍的匹配也叫非貪婪模式匹配。結(jié)果是把兩個(gè)div內(nèi)的內(nèi)容匹配返回。

這里加re.I(大寫的i)表示匹配無(wú)論公的母的大小寫都通吃都要,不然后面有大小寫就會(huì)出現(xiàn)上面匹配找不到返回空列表給你。

這里又搞事了就是\n俗稱換行符,一旦換行程序就SB了不認(rèn)了,所以我們加上了re.S(大寫)這樣代表比匹配包括換行在內(nèi)的所有字符內(nèi)容返回,基本你把上面的語(yǔ)法和用法學(xué)會(huì)后基本70%以上匹配方法全都搞定,當(dāng)然還有很方法我就不列舉了,大家可以自己去學(xué)習(xí)(剩下的基本我都很少用到了)。

2.match和search的用法及區(qū)別:

re.match 嘗試從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match()就返回none。re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。來(lái)看看代碼就容易理解了。如下:

這里直接打印結(jié)尾加上.span()可以得到匹配字符串的位置以元組tuple返回(起始位置,結(jié)束位置),有一個(gè)沒(méi)寫,因?yàn)樗祷乜占由蠒?huì)編譯器報(bào)錯(cuò)。

是不是一目了然,match只會(huì)開頭匹配,找不到就返回None,這里我沒(méi)加.group()是因?yàn)榉祷刂凳强罩滴壹恿司幾g器會(huì)報(bào)錯(cuò),search不挑食掃描整個(gè)字符串,當(dāng)然里面也可以用上面的正則方法去匹配,這里就不過(guò)多介紹了大家可以動(dòng)手練練。

3.sub替換的用法

sub用于替換字符串中的匹配項(xiàng),語(yǔ)法一般是re.sub(r'正則匹配規(guī)則','替換的字符串',需要檢索的字符串)

這里很直觀的反應(yīng)了結(jié)果,把#號(hào)及后面的字符串替換想要改的字符串。

4.最后福利

在給最后福利之前,希望大家能多練練上面的用法和使用規(guī)則,只有多出錯(cuò)多總結(jié)才會(huì)積累經(jīng)驗(yàn),最后的福利講給大家?guī)讉€(gè)常用的郵箱匹配規(guī)則如下:

必殺技能最后送了合體多種匹配或者發(fā)|用來(lái)匹配多個(gè)不同的郵箱使用,大家只要用熟以上的方法保守70%以上的地方都能夠使用到,最后聲明只是小弟個(gè)人理解分享,大佬們忽略就忽略吧,謝謝,最后還還是老臺(tái)詞:感謝觀看,下次再見!

相關(guān)文章

  • Python實(shí)例方法、類方法、靜態(tài)方法區(qū)別詳解

    Python實(shí)例方法、類方法、靜態(tài)方法區(qū)別詳解

    這篇文章主要介紹了Python實(shí)例方法、類方法、靜態(tài)方法區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • pycharm運(yùn)行pytest中文編碼格式錯(cuò)亂解決

    pycharm運(yùn)行pytest中文編碼格式錯(cuò)亂解決

    這篇文章主要為大家介紹了pycharm運(yùn)行pytest中文編碼格式錯(cuò)亂的解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python使用Pycharm必備插件推薦(非常好用!)

    Python使用Pycharm必備插件推薦(非常好用!)

    首先我們要知道pycharm是一款非常強(qiáng)大的python集成開發(fā)環(huán)境,帶有一整套python開發(fā)工具,這篇文章主要給大家介紹了關(guān)于Python使用Pycharm必備插件推薦的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Python爬蟲報(bào)錯(cuò)<response [406]>(已解決)

    Python爬蟲報(bào)錯(cuò)<response [406]>(已解決)

    本文主要介紹了Python爬蟲報(bào)錯(cuò)<response [406]>,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python splitlines使用技巧

    Python splitlines使用技巧

    Python中的splitlines用來(lái)分割行。當(dāng)傳入的參數(shù)為True時(shí),表示保留換行符 \n。通過(guò)下面的例子就很明白了
    2008-09-09
  • python selenium循環(huán)登陸網(wǎng)站的實(shí)現(xiàn)

    python selenium循環(huán)登陸網(wǎng)站的實(shí)現(xiàn)

    這篇文章主要介紹了python selenium循環(huán)登陸網(wǎng)站的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python標(biāo)準(zhǔn)庫(kù):內(nèi)置函數(shù)max(iterable, *[, key, default])說(shuō)明

    Python標(biāo)準(zhǔn)庫(kù):內(nèi)置函數(shù)max(iterable, *[, key, default])說(shuō)明

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù):內(nèi)置函數(shù)max(iterable, *[, key, default])說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • pandas 實(shí)現(xiàn)字典轉(zhuǎn)換成DataFrame的方法

    pandas 實(shí)現(xiàn)字典轉(zhuǎn)換成DataFrame的方法

    今天小編就為大家分享一篇pandas 實(shí)現(xiàn)字典轉(zhuǎn)換成DataFrame的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • pip?install?jupyterlab失敗的原因問(wèn)題及探索

    pip?install?jupyterlab失敗的原因問(wèn)題及探索

    在學(xué)習(xí)Yolo模型時(shí),嘗試安裝JupyterLab但遇到錯(cuò)誤,錯(cuò)誤提示缺少Rust和Cargo編譯環(huán)境,因?yàn)閜ywinpty包需要它們來(lái)編譯,由于在conda環(huán)境下操作,Rust和Cargo已經(jīng)安裝,問(wèn)題是pywinpty包丟失,安裝pywinpty包后,再次執(zhí)行pip?install?jupyterlab即可正常下載
    2025-02-02
  • Python功能點(diǎn)實(shí)現(xiàn):函數(shù)級(jí)/代碼塊級(jí)計(jì)時(shí)器

    Python功能點(diǎn)實(shí)現(xiàn):函數(shù)級(jí)/代碼塊級(jí)計(jì)時(shí)器

    今天小編就為大家分享一篇關(guān)于Python功能點(diǎn)實(shí)現(xiàn):函數(shù)級(jí)/代碼塊級(jí)計(jì)時(shí)器,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01

最新評(píng)論

开远市| 灯塔市| 齐齐哈尔市| 吉木乃县| 太和县| 东至县| 彭山县| 汽车| 江门市| 武夷山市| 聂拉木县| 亚东县| 古蔺县| 安康市| 陕西省| 荆州市| 昌图县| 读书| 阆中市| 厦门市| 云梦县| 呼图壁县| 容城县| 双江| 浠水县| 邓州市| 巴楚县| 涪陵区| 滕州市| 房山区| 平阳县| 静海县| 津市市| 尚志市| 定远县| 万源市| 达孜县| 广南县| 教育| 延庆县| 白山市|