正則表達式

 

QQ20180415-185253@2xQQ20180415-185310@2x

  • 正則表達式:REGular EXPression
    字符匹配:
    . 匹配一個隨機字符
    \[^.]:匹配除了點以外任意的字符
    [] 匹配指定范圍內的任意單個字符
    [^] 匹配指定范圍外的任意單個字符
    [:alnum:] 字母和數字
    [:alpha:] 代表任何英文大小寫字符,亦即 A-Z, a-z
    [:blank:] 空白字符(空格和制表符)
    [:space:] 水平和垂直的空白字符(比[:blank:]包含的范圍廣)
    [:cntrl:] 不可打印的控制字符(退格、刪除、警鈴…)
    [:digit:] 十六進制數字
    [:graph:] 可打印的非空白字符
    [:print:] 可打印字符
    [:punct:] 標點符號
    次數匹配:
    *:匹配前面出現的字符n次
    .*:表示任意長度的任意字符串
    \?:匹配前面出現的字符最多1次
    \+:匹配前面出現的字符最少1次
    \{n\}:匹配前面出現的字符n次
    \{m,n\}:匹配前面出現的字符最少m次最多不超過n次
    \{,n\}:匹配前面出現的字符最多n次
    \{n,\}:匹配前面出現的字符最少n次
    位置錨定:
    ^:匹配行首
    $:匹配行尾
    ^$:空行
    ^[[:space:]]$:空白行
    \<\>:錨定一個單詞
    \<:錨定詞首
    \>:錨定詞尾
    分組:
    echo AAAxxxxBBAAABBB|grep “\(A\)\{3\}.*\(B\)\+\1.*\2”
    示例:嵌套分組 \(string1\+\(string2\)*\)
    \1 :string1\+\(string2\)*
    \2 :string2
    后向引用:引用前面的分組括號中的模式所匹配字符,而非模式本身
    \1:對分組的內容進行引用,第一個括號就是\1,第二個括號為\2,依此類推
    或者:\|
    示例:a\|b:a或b C\|cat:C或cat \(C\|c)at:Cat或cat
  • 擴展正則表達式:Extended REGular EXPression
    字符匹配:
    .:任意單個字符
    []:指定范圍的字符
    [^]:不在指定范圍的字符
    次數匹配:
    *:匹配前面字符任意次
    ?:0次或1次
    +:1次或多次
    {m}:匹配m次
    {m,n}:至少m,至多n次
    位置錨定
    ^:行首
    $:行尾
    \<,\b:語首
    \>,\b:語尾
    分組:
    ()
    反向引用:
    \1,\2, …
    或者:
    a|b:a或b
    C|cat:C或cat
    (C|c)at:Cat或cat

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92508

(0)
what?what?
上一篇 2018-03-16
下一篇 2018-03-17

相關推薦

欧美性久久久久