亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

grep、egrep正則表達式之初窺門徑

發布時間:2020-07-10 07:53:33 來源:網絡 閱讀:1049 作者:北城書生 欄目:網絡安全

何謂正則表達式

正則表達式,又稱正規表示法、常規表示法(Regular Expression,在代碼中常簡寫為regex、regexp或RE),是一類字符所書寫的模式,其中許多字符不表示其字面意義,而是表達控制或通配等功能。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。許多程序設計語言都支持利用正則表達式進行字符串操作。

正則表達式語言由兩種基本字符類型組成:原義(正常)文本字符和元字符。元字符使正則表達式具有處理能力。所謂元字符就是指那些在正則表達式中具有特殊意義的專用字符,不表示其字面意義,而用于額外功能性描述。

正則表達式分類

正則表達式根據元字符的數量及功能不同又分為基本正則表達式(grep)和拓展正則表達式(egrep)。而grep和egrep同屬于文本搜索工具,可根據用戶指定的文本模式(搜索條件)對目標文件進行逐行搜索,顯示能匹配到的行。用法上grep –E等同于egrep,與grep和egrep相似的文本搜索工具還有fgrep,因不支持使用正則表達式,所以不再單獨介紹。

基本正則表達式(grep)

語法格式:grep[option]... 'PATTERN' FILE...

基本正則表達式元字符:

1.字符匹配:

     .:任意單個字符

     [ ]:匹配指定范圍內的任意單個字符

     [0-9]:匹配單個數字

    [a-z]:匹配單個小寫字母

[A-Z]:匹配單個大寫字母

[[:digit:]]:匹配單個數字

[[:lower:]]:匹配單個小寫字母

[[:upper:]]:匹配單個大寫字母

[[:space:]]:匹配單個空白字符

[[:punct:]]:匹配單個標點符號

[[:alnum:]]:匹配單個字母或數字

[[:alpha:]]:匹配單個字母(不分大小寫)

[^]:匹配范圍外的任意單個字符


  2.次數匹配

  *:任意次(前面字符出現任意次)

  \?:0次或1次(前面字符可有可無)

  \{m\}: m次(前面字符出現m次)

  \{m,n\}:至少m次,至多n次

  \{m,\}:至少m次

  \{0,n\}:至多n次

  .*:任意長度的任意字符


  3.位置錨定:

  ^:行首錨定(寫在模式最左側)

  $:行尾錨定(寫在模式最右側)

  ^$:空白行

  \<,/b:詞首錨定(出現于單詞左側)

  \>,/b:詞尾錨定(出現于單詞右側)

 (注:不包含特殊字符的連續字符組成的串叫單詞)

  4.分組

  \( \):如\(ab\)*

 (分組中的模式匹配到的內容,可由正則表達式引擎記憶在內存中,之后可被引用


  5.引用

  \n:引用前面的第n個左括號以及與之對應的右括號中的模式所匹配到的內容


拓展正則表達式(egrep)

    語法格式:egrep [option] 'PATTERN' FILE...

    拓展正則表達式元字符:

    1.字符匹配:

        .:任意單個字符

        [ ]:匹配范圍內的任意單個字符

        [^]:匹配范圍外的任意單個字符


     2.次數匹配:

        *:任意次

        ?: 0或1次

        +:至少1次

        {m}: m次

        {m,n}:至少m次,至多n次

        {m,}:至少m次

        {0,n}:至多n次


   3.位置錨定:

        ^:行首錨定

        $:行尾錨定

        \<,\b:詞首錨定

        \>,\b:詞尾錨定

        ^$,^[[:space:]]*$:空白行


     4.分組

        ( ):分組

        |:或 


     5.引用:

       \n:引用前面的第n個左括號以及與之對應的右括號中的模式所匹配到的內容


     grep及egrep命令選項

    -v: 反向選取

      -o:僅顯示匹配的字串,而非字串所在的行

      -i:ignore-case,忽略字符大小寫

      -A:顯示之后兩行

      -B:顯示之前兩行

      -C:顯示上下兩行


    牛刀小試


     顯示/proc/meminfo文件中以大寫或小寫S開頭的行


     grep、egrep正則表達式之初窺門徑


     顯示/etc/passwd文件中其默認shell為非/sbin/nologin的用戶


     grep、egrep正則表達式之初窺門徑


     顯示/etc/passwd文件中其默認shell為/bin/bash的用戶中ID號最大的用戶


    grep、egrep正則表達式之初窺門徑


    找出/etc/passwd文件中的一位數或兩位數


    grep、egrep正則表達式之初窺門徑


    顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行


    grep、egrep正則表達式之初窺門徑


    顯示/etc/rc.d/rc.sysinit文件中,以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行


    grep、egrep正則表達式之初窺門徑


    找出netstat -tan命令執行結果中以'LISTEN'結尾的行


    grep、egrep正則表達式之初窺門徑


    找出當前系統上其用戶名和默認shell相同的用戶


    grep、egrep正則表達式之初窺門徑


    顯示當前系統上root或scholar用戶的默認shell


    grep、egrep正則表達式之初窺門徑


    找出/etc/rc.d/init.d/functions文件中某單詞后跟一組小括號“()”行


    grep、egrep正則表達式之初窺門徑


    使用echo命令輸出一個路徑,而后使用grep取出其基名


    grep、egrep正則表達式之初窺門徑


    找出ifconfig命令結果中的1-255之間的數字


    grep、egrep正則表達式之初窺門徑


    The End


    好了總結到這里,常用的正則表達式用法就整理的差不多了,以上都是個人學習總結,如有錯漏,大

神勿噴~~~

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科技| 那曲县| 吐鲁番市| 五河县| 明星| 宜城市| 宁化县| 北川| 宝丰县| 五大连池市| 湖口县| 青州市| 外汇| 武乡县| 景德镇市| 奎屯市| 凤台县| 武城县| 简阳市| 日土县| 高阳县| 启东市| 吉林省| 永兴县| 汝阳县| 宜春市| 铜山县| 永清县| 奎屯市| 长沙市| 宁城县| 宜君县| 青岛市| 望奎县| 加查县| 松阳县| 江达县| 大石桥市| 砚山县| 姜堰市| 高台县|