1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        超簡(jiǎn)單正則表達(dá)式入門教程

        共 2807字,需瀏覽 6分鐘

         ·

        2021-05-29 19:09

        ↑ 點(diǎn)擊藍(lán)字 關(guān)注極市平臺(tái)

        作者丨程序員阿德@知乎(已授權(quán))
        來(lái)源丨h(huán)ttps://zhuanlan.zhihu.com/p/374523960
        編輯丨極市平臺(tái)

        極市導(dǎo)讀

         

        本文介紹了一些正則表達(dá)式的規(guī)則。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿

        學(xué)習(xí)正則表達(dá)式的唯一方法就是 Learning by doing。

        正則表達(dá)式是在程序或命令行中查找和替換文本的強(qiáng)大工具。熟悉最常見(jiàn)的正則表達(dá)式符號(hào),以及如何使用它們,對(duì)于程序員來(lái)說(shuō)是必不可少的技能。

        正則表達(dá)式是在搜索中需要匹配的特殊字符串,使用范圍很廣,比如Java、Python等編程語(yǔ)言,grep、sed等命令行,還有vscode、vim等編輯器。

        正則表達(dá)式的規(guī)則太多了,學(xué)會(huì)后不怎么用就又忘了,介紹各種規(guī)則前先分享給你一張圖,

        強(qiáng)烈建議你點(diǎn)贊收藏,然后每天看一眼,肯定記得比誰(shuí)都牢。

        圖片來(lái)源 ComputerHope.com

        1、字符位置

        你可以根據(jù)文本的位置來(lái)進(jìn)行定位。比如你要搜索某個(gè)單詞,但前提是該單詞是一行中的第一個(gè)?;蛘吣憧赡苤幌氩檎夷硞€(gè)字母系列,但前提是它們出現(xiàn)在單詞的末尾。

        字符含義例子例子說(shuō)明
        ^行首^abc只匹配行首的abc
        $行末xyz$只匹配行末的xyz
        \b單詞邊界ing\b只匹配單詞末尾的ing
        \B非單詞邊界\Bing只匹配不出在單詞開頭的ing
        \<單詞開頭\<is僅在單詞開頭時(shí)匹配is
        \>單詞末尾on\>僅在單詞末尾匹配on

        2、字符類別

        搜索文本時(shí),僅根據(jù)字符分類來(lái)選擇字符會(huì)很有用。字符的基本類別是數(shù)字和字母和其他字符(例如空格和標(biāo)點(diǎn)符號(hào))。

        字符含義例子例子說(shuō)明
        .匹配除換行符以外的任何單個(gè)字符ab.def可以匹配如 abcdef, ab9def, ab=def 等
        \s匹配空白字符(例如空格,制表符等)abcd\se匹配 abcd e 和 abcd(tab)e
        \S匹配非空白字符\S\S\s\S可以匹配如 AB D, 12(tab)3 等
        \w匹配單個(gè)字母,數(shù)字或下劃線。等價(jià)于[a-zA-Z0-9_]\w\{1,\}-\w\{1,}可以匹配如 well-wishes, far-fetched 等
        \W\w 的取反,可以表示為 [^\w]\w\W\w可以匹配如 a@b,5-3 等
        \d匹配數(shù)字字符 0-9\d\d匹配所有兩位數(shù)字
        \D匹配非數(shù)字字符\D\d匹配 s0, ^4 等

        3、字符數(shù)量

        匹配字符的數(shù)量,例如你可以精確匹配六個(gè)空格,或定位長(zhǎng)度在四到八位之間的數(shù)字字符串。

        含義例子例子說(shuō)明例子說(shuō)明
        零個(gè)或多個(gè)字符do*g匹配 dg, dog, doog 等,o 的數(shù)量為任意個(gè)匹配 dg, dog, doog 等,o 的數(shù)量為任意個(gè)
        匹配 m 個(gè)字符a{3}只能匹配 aaa只能匹配 aaa
        字符個(gè)數(shù)不少于 m個(gè),但不超過(guò)n個(gè)字符個(gè)數(shù)不少于 m個(gè),但不超過(guò)n個(gè),優(yōu)先匹配 n 次只能匹配 b, bb, bbb只能匹配 b, bb, bbb
        至少出現(xiàn) m 次至少出現(xiàn) m 次c{2,}匹配 cc, ccc, cccc 等

        匹配0次或1次,優(yōu)先匹配1次cd?只能匹配 c, cd
        +匹配1-n次,優(yōu)先匹配n次sd+匹配 sd, sdd, sddd 等

        4、字符集和字符范圍

        字符集是符合搜索條件的字符的列表,通過(guò)將一組字符括在方括號(hào)([和])中來(lái)指示字符集。

        字符范圍是字符集的一種,它在字符之間使用 - 來(lái)暗示它們之間的整個(gè)字符范圍,以及開始和結(jié)束字符本身。

        字符含義例子例子說(shuō)明
        [characters]匹配括號(hào)內(nèi)列出的字符[abcd]可以匹配 a,b,c,d 單個(gè)字符
        [^characters]匹配括號(hào)內(nèi)未列出的字符[^abcd]a,b,c,d 除外的任意單個(gè)字符
        [character-character]兩個(gè)字符之間范圍內(nèi)的任何字符(包括這些字符)[a-z]匹配任意小寫字符

        字符范圍可以進(jìn)行拼接,比如 [a-zA-Z0-9_] 就是匹配任意單個(gè)字母或數(shù)字。

        字符范圍也可以使用數(shù)量字符,比如 [a-z]* 就可以匹配 hello, world 這樣的單詞。

        .

        最后說(shuō)一下,如果想匹配正則表達(dá)式中的特殊字符,比如 \, ^, *, {, [ 等,因?yàn)樗鼈冇刑厥夂x,所以需要另外加 \ 來(lái)表示,比如 \* 表示 *,\\ 表示 \。

        .

        再最后說(shuō)一下,在線正則表達(dá)式的網(wǎng)站有很多,我推薦我常用的一個(gè):

        https://regex101.com/

        除了常用的支持不同語(yǔ)言的正則表達(dá)式解析外,里面有個(gè)社區(qū),其中很多關(guān)于正則表達(dá)式的討論,還有正則表達(dá)式的測(cè)試題,通過(guò)做題來(lái)學(xué)習(xí),讓自己對(duì)正則表達(dá)式更加熟練。

        最厲害的是,它會(huì)對(duì)你的正則表達(dá)式進(jìn)行解析說(shuō)明,讓你更容易看懂一長(zhǎng)串正則表達(dá)式。

        比如匹配指定格式的日期:^\d{4}-\d{1,2}-\d{1,2},看不懂沒(méi)關(guān)系,這個(gè)網(wǎng)頁(yè)提供了詳細(xì)說(shuō)明:


        如果覺(jué)得有用,就請(qǐng)分享到朋友圈吧!

        △點(diǎn)擊卡片關(guān)注極市平臺(tái),獲取最新CV干貨

        公眾號(hào)后臺(tái)回復(fù)“目標(biāo)檢測(cè)競(jìng)賽”獲取目標(biāo)檢測(cè)競(jìng)賽經(jīng)驗(yàn)資源~


        極市干貨
        YOLO教程:一文讀懂YOLO V5 與 YOLO V4大盤點(diǎn)|YOLO 系目標(biāo)檢測(cè)算法總覽全面解析YOLO V4網(wǎng)絡(luò)結(jié)構(gòu)
        實(shí)操教程:PyTorch vs LibTorch:網(wǎng)絡(luò)推理速度誰(shuí)更快?只用兩行代碼,我讓Transformer推理加速了50倍PyTorch AutoGrad C++層實(shí)現(xiàn)
        算法技巧(trick):深度學(xué)習(xí)訓(xùn)練tricks總結(jié)(有實(shí)驗(yàn)支撐)深度強(qiáng)化學(xué)習(xí)調(diào)參Tricks合集長(zhǎng)尾識(shí)別中的Tricks匯總(AAAI2021
        最新CV競(jìng)賽:2021 高通人工智能應(yīng)用創(chuàng)新大賽CVPR 2021 | Short-video Face Parsing Challenge3D人體目標(biāo)檢測(cè)與行為分析競(jìng)賽開賽,獎(jiǎng)池7萬(wàn)+,數(shù)據(jù)集達(dá)16671張!


        CV技術(shù)社群邀請(qǐng)函 #

        △長(zhǎng)按添加極市小助手
        添加極市小助手微信(ID : cvmart2)

        備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)


        即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群


        每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與 10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺(jué)開發(fā)者互動(dòng)交流~



        覺(jué)得有用麻煩給個(gè)在看啦~  
        瀏覽 33
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本乱轮中文字幕 | 一级a免一级a做免费线看内裤软件 | 久久视频免费看 | 在线观看草草视频 | 日本美女黄色电影 | 污污网 | 久久综合香蕉 | 蜜桃av秘 无码一区三区。 | 乱伦色网站 | 污网站在线播放 |