站長資訊網
        最全最豐富的資訊網站

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        正則表達式應用非常廣泛,例如:php,Python,java等,但在linux中最常用的正則表達式的命令就是grep(egrep),sed,awk等,換句話 說linux三劍客要想能工作的更高效,就一定離不開正則表達式的配合。

        1、什么是正則表達式?

        簡單的說,正則表達式就是為處理大量的字符串而定義的一套規則和方法。通過定義的這些特殊符號的輔助,系統管理員就可以快速過濾、替換或者輸出需要的字符串。linux正則表達式一般以行為單位處理的。

        2、為什么要學正則表達式

        在企業工作中,我們每天做的linux運維工作中,時刻都會面對大量帶有字符串的文本配置、程序、命令輸出及日志文件等,而我們經常會有迫切的需要從大量的字符串內容中查找符合工作需要的特定字符串,這就要靠正則表達式,因此,可以說正則表達式就是為過濾這樣字符串的需求而生的!

        3、容易混淆的兩個注意事項:

        1)linux正則表達式一般是以行為單位處理的。

        2)正則表達式和我們常用的通配符特殊字符是有本質區別的,例如:ls *.txt 這里的*就是通配符(表示所有),不是正則表達式。

        注意字符集問題:

        確保字符集:export LC_ALL=C

        ———————————————

        基礎正則表達式+擴展正則表達式含義解釋:

        ———————————————

        .   代表且只能代表任意一個字符(不包括空行)
        *   重復前面任意0個或多個字符
        .*   匹配所有字符。(包括空行)
        sed -ri ‘s#(.*)#1#g’ bqh.txt
        把前面正則匹配的括號內的結果,在后面用1取出來操作。
        ^   表示以什么開頭,^bqh 以bqh開頭
        $   是以什么結尾
        ^$   表示空行。
        例.   就只代表點本身,轉義符號,讓有著特殊身份移動的字符,脫掉馬甲,還原原型$
        ^.*   以任意多個字符開頭。
        .*$   以任意多個字符結尾。
        (.*)   從第一字符匹配,到空格停止,
        [abc]   匹配字符集合內的任意一個字符【a-zA-Z】
        [^abc]   匹配不包括^后的任意字符的內容;中括號里的^為取反,注意和以…開頭區別。
        a{n,m}   重復n到m次,前一個重復的字符。如果有用egrep/sed -r 可以去掉斜線。
        {n,}   重復至少n次,前一個重復的字符。如果有用egrep/sed -r 可以去掉斜線。
        {n}   重復n次,前一個重復的字符。如果有用egrep/sed -r 可以去掉斜線。
        ①^word   搜索以word開頭的;vi ^ 一行的開夠
        ②word$   搜索以word結尾的;vi $ 一行的開頭
        ③^$   表示空行。
        擴展的正則表達式:ERP(egrep或grep -E)

        +   重復一個或一個以上前面的字符
        ? 復0個或一個0前面的字符
        |   用或的方式查找多個符合的字符串
        ()  找出“用戶組”字符串

        實戰舉例:

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        ^m 搜索以m開頭的

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式) 

        p$搜索以p結尾的

         詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        ^$表示空號

         詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        去掉空行:grep Cv “^$” bqh.log

        查看去掉的后的空行內容:grep -vn “^$” bqh.log 

         詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        .   代表且只能代表任意一個字符(不包括空行)

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        查找帶0的字符:

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        .*   匹配所有字符。(包括空行)

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        查找以.結尾的字符:

        錯誤方法:grep “.$” bqh.log

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        正確方法:

        grep “.$” bqh.log 

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        注意:. 就只代表點本身,轉義符號,讓有著特殊身份移動的字符,脫掉馬甲,還原原型$

        *   例1*重復1個或多個前面的一個字符。

        grep Co “1*” bqh.log  //-o精確匹配

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        ^.*      以任意多個字符開頭。

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        .*$      以任意多個字符結尾。

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        [abc]    匹配字符集合內的任意一個字符【a-zA-Z】

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        匹配字符集合內的a-z任意一個小寫字符:

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        [^abc] 匹配不包括^后的任意字符的內容;中括號里的^為取反,注意和以…開頭區別

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        匹配非數字的任意字符:

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        a{n,m}  重復n到m次,前一個重復的字符。如果有用egrep/sed -r /grep -E可以去掉斜線。

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        {n,}    重復至少n次,前一個重復的字符。如果有用egrep/sed -r 可以去掉斜線。

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        {n}    重復n次,前一個重復的字符。如果有用egrep/sed -r 可以去掉斜線。

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        注意:egrep,grep -E或sed -r過濾一般特殊字符可以不轉義。多使用參數。

         ———————————————————————————

        擴展的正則表達式:ERP(egrep或grep -E)

        +   重復一個或一個以上前面的字符

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        ?  復0個或一個0前面的字符

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        |   用或的方式查找多個符合的字符串

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        ()  找出“用戶組”字符串

        詳解linux正則表達式(基礎正則表達式+擴展正則表達式)

        總結

        以上所述是小編給大家介紹的詳解linux正則表達式(基礎正則表達式+擴展正則表達式),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 91精品国产品国语在线不卡| 亚洲国产精品一区二区第四页| 日韩精品一区二区三区不卡| 精品国产午夜福利在线观看 | 国产精品无码无需播放器| 色婷婷在线精品国自产拍| 精品无码AV一区二区三区不卡| 国产精品日韩欧美一区二区三区| 久久se精品一区二区影院| 在线精品亚洲一区二区小说| 精品无码人妻一区二区三区品| 久久狠狠一本精品综合网| 91大神精品全国在线观看| 国产精品一区在线播放| 国产精品免费久久| 日韩精品一二三四区| 国产精品青草视频免费播放| 精品一区二区在线观看| 国产精品va在线观看无码| 久久青青草原精品影院| 久久久久亚洲精品天堂| 国产精品九九九| 国产精品久久波多野结衣| 日韩精品久久无码中文字幕| 亚洲AV无码成人精品区大在线| 国产啪亚洲国产精品无码| 中文字幕精品无码一区二区| 久久99国产精品二区不卡| 国产日韩精品欧美一区| 国产啪亚洲国产精品无码| 999精品色在线播放| 欧美国产日韩精品| 国产AV午夜精品一区二区三区| 精品国产人成亚洲区| 99久久精品九九亚洲精品| 乱色精品无码一区二区国产盗| 伊人精品久久久久7777| 真实国产乱子伦精品视频| 蜜桃麻豆www久久国产精品 | 无码国产精品一区二区免费16| 亚洲欧美日韩精品久久亚洲区 |