正則表達式

 

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 21:20
下一篇 2018-03-17 09:19

相關推薦

  • Docker容器技術之Dockerfile

    什么是dockerfile?
    dockerfile可以理解為構建docker images的源碼(原料),docker可以通過讀取一個dockerfile來自動構建docker鏡像

    2018-08-06
  • ansible的簡介和用法

    Ansible  (底層是基于ssh連接的,每次操作其他主機需要輸入密碼 ,所以首先要實現基于key的公鑰驗證) 使用ansible: ansible "192.168.60.3" -m shell -a 'ls /root' -k (單個用戶在實現基于key的驗證前) 安裝ansible: yum包的安裝:…

    2018-05-28
  • Linux基礎知識

    一:用戶登錄 root用戶:管理員賬戶,也被稱為超級用戶,root擁有對Linux系統的所有權限,甚至可以把自己殺死(rm -rf /*),除非必須,一般不用root用戶登錄系統 普通用戶:權限受到限制,只可以對自己有權限的文件進行操作 二:終端(terminal) 1.設備終端 鍵盤鼠標顯示器 2.物理終端( /dev/console ) 控制臺conso…

    2018-03-29
  • Linux用戶和組管理

    Linux用戶和組管理 眾所周知,Linux是一個多用戶、多任務(Multi-Tasks、Multi-Users)的操作系統。那么Linux是如何區分和認證用戶的,系統對每個用戶的授權是如何管理的,出現問題如何追溯每個用戶在系統內的操作記錄,等等,這些就涉及到Linux中用戶和組的管理。 AAA介紹 Linux用戶類別 Linux用戶標識(UID) Linu…

    2018-05-06
  • 文件實時查找工具-find

    find:命令 實時查找工具,通過遍歷指定路徑完成文件查找 工作特點:查找速度慢,精確查找,實時查找,可能只搜索用戶具備讀取和執行的目錄 用法: ?find【OPTION]…[查找路徑】【查找條件】【處理動作】 查找路徑:指定具體目標路徑;默認為當前目錄查找條件:指定的查找標準,可以文件名、大小、類型、權限等標準進行;默認為找出指定路徑下的所有文…

    2018-04-13
  • Virtualization虛擬化技術介紹

    Virtualization即虛擬化技術,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率

    2018-07-27
欧美性久久久久