正則表達式引擎

1、grep

      grep [options] PATTERN [FILE...]

            -v:反向搜索,顯示出沒有出現“搜索模式”的哪一行

             -o:僅顯示被模式匹配到的字符串

            -q:搜索模式匹配後結果不顯示,哪怕結果沒有搜索到

            -A:顯示搜索模式所在行後面的num行

            -B:顯示搜索模式所在行前面的num行

            -C:顯示搜索模式所在行後面的num行,和後面的num行

            -E:使用擴展怎着表達式

            -- colour==auto


基本正則表達式元素符:

    1、字符匹配

        . :匹配任意單個字符

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

        [^]:匹配指定範圍外的任意單個字符

        [:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]

    2、次數匹配

        *:前邊字符任意次數

         .*:任意單個字符任意多次

        \?:前邊單個字符0—1次

        \+:前邊單個字符至少1次

        \{m}:前邊單個字符m次

        \{m,n\}:前邊單個字符m到n次

        \{m,\}:前邊單給字符至少m次

    3、錨點匹配

        ^:匹配模式搜索到的在行首的字符

        $:匹配模式搜索到的在行尾的字符

            ^[[:space:]]$:匹配空行

        \<:匹配模式搜索到的在詞首的字符

        \>:匹配模式搜索到的在詞尾的字符

    4、分組

        \( \):將單個字符或者多個字符捆綁在一起當做整體處理

            後向引用:引用前面分組括號所引用的內容

    注:分組括號中模式匹配到的內容會被內容會被保存在grep內部的變量中,這些變量的命名方式爲:\1,\2,,,,等等。

    \1:左起第一個括號到與之相對應的括號完,之間的被模式所搜索到的字符

  


擴展正則表達式:egrep

    grep -E=egrep

    1、字符匹配

        . :匹配任意單個字符

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

        [^]:匹配指定範圍外的任意單個字符

        [:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]

    2、次數匹配

        *:前邊字符任意次數

         .*:任意單個字符任意多次

          ?:前邊單個字符0—1次

          +:前邊單個字符至少1次

          {m}:前邊單個字符m次

          {m,n}:前邊單個字符m到n次

          {m,}:前邊單給字符至少m次

    次數匹配與基本正則表達式的區別是不用轉義字符\

    3、錨點匹配

        ^:匹配模式搜索到的在行首的字符

        $:匹配模式搜索到的在行尾的字符

            ^[[:space:]]$:匹配空行

        \<:匹配模式搜索到的在詞首的字符

        \>:匹配模式搜索到的在詞尾的字符

    4、分組

        ( ):將單個字符或者多個字符捆綁在一起當做整體處理

            後向引用:引用前面分組括號所引用的內容

    5、或者

        a|b

        eg:C|cat 匹配左邊或右邊

          (C|c)at:匹配Cat或者cat

    

fgrep:不支持正則表達式,按給的的字符來匹配

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章