基本正則表達式

城還是這座城,人已非故人

  • QQ拼音截圖未命名12
  • 基本正則表達式
    • 字符匹配:
      • 匹配任意單個字符:.
      • 匹配指定范圍內的任意單個字符:[](注意匹配規則,匹配上的字符不再做匹配,括號內如果有多個單個字符或者比如[a0-9c],表示匹配a或者0-9或者c),括號內輸入點號[.]就是普通字符點
      • 匹配指定范圍外的任意單個字符:[^]
      • [:alnum:] 字母和數字
      • [:alpha:] 代表任何英文大小寫字符,亦即 A-Z, a-z
      • [:lower:] 小寫字母 [:upper:] 大寫字母
      • [:blank:] 空白字符(空格和制表符)
      • [:space:] 水平和垂直的空白字符(比[:blank:]包含的范圍廣)
      • [:cntrl:] 不可打印的控制字符(退格、刪除、警鈴…)
      • [:digit:] 十進制數字 [:xdigit:]十六進制數字
      • [:graph:] 可打印的非空白字符
      • [:print:] 可打印字符
      • [:punct:] 標點符號
    • ?匹配次數:用在要指定次數的字符后面,用于指定前面的字符要出現的次數
      • 匹配其前面的字符0或多次: ?* 如:a*b 表示a出現任意次后緊跟b
      • 匹配任意長度的字符: ? .* 表示 . 出現任意次
      • 匹配其前面的字符一次或0次:\? 需要加“”或‘’
      • 匹配其前面的字符1次或多次:\+ 前面的字符至少出現1次
      • 匹配其前面的字符m次:\{m\}
      • 匹配其前面的字符至少m次,最多n次:\{m,n\} \{0,n\}最多n次;\{m,\}至少m次
    • ?位置錨定:定位出現的位置
      • 錨定行首,此元字符后面的一個或多個字符必須出現在行首:^
      • 錨定行尾,此字符前面的一個或多個字符必須出現在行尾:$
        • ^PATTERN$:用模式來匹配整行
        • ^$ 或 ^[[:space:]]*$ :空白行
      • 錨定單詞首部,表示\<后的字符必須是單詞的開頭(單詞匹配時只有字母、數字和下劃線算作單詞的一部分,其他符號都不是)首部出現:\<或者\b
      • 錨定詞尾,其后面的任意字符必須作為單詞尾部出現:\>或者\b
        • 精確匹配單詞:\<root\>
        • 匹配整行,不能匹配單詞了:\<.*\>
        • 例:找出/etc/passwd文件中的兩位數或三位數
          • # grep “\<[0-9]\{2,3\}\>”/etc/passwd如果不錨定詞首詞尾會出現3個數字以上的行
    • 分組:\(\) 將一個或多個字符捆綁在一起,當作一個整體進行處理,如:\(ab\)* ?表示ab看作整體,ab可以出現任意次
      • 注意:分組括號中的模式匹配到的內容會被正則表達式引擎自動記錄于內部的變量中,這些變量為后向引用
      • \1:引用第一個左括號以及與之對應的右括號所包括的所有內容
      • \2:引用第2個左括號以及與之對應的右括號所包括的所有內容
      • \3:引用第3個左括號以及與之對應的右括號所包括的所有內容

 

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

(0)
DPingDPing
上一篇 2018-04-18 20:13
下一篇 2018-04-19 13:41

相關推薦

  • 一些常用的文本工具

    cat命令:查看文本內容 cat [選項]… [文件]… -E??? 顯示行結束符 -n??? 顯示文本內容時顯示行號 -A??? 顯示所以控制符 -b??? 非空行編號 -s???? 壓縮連續的空行成一行 head命令 : -n  顯示文件前n行,默認顯示前10行 -c # 顯示文件前#個字節內容 tail命令: tail [選項]…

    2018-04-09
  • LAMP、php、mariadb

    LAMP: a:apache m:mariadb、mysql p:php,perl,python LAMMP:memcached   靜態資源:靜態內容,客戶端從服務器獲得的資源的表現形式與源文件相同; 動態資源:通常是程序文件,需要在服務器執行之后,將執行的結果返回給客戶端; CGI:common gateway interface通用網關接口 …

    Linux筆記 2018-05-21
  • Linux第一周命令總結

    hostname? 完整主機名? cat +文件路徑 可查看文件信息 cat /etc/centos-release 查看文件? 版本的名稱、發行時間所有shell cat/etc/shells? 顯示當前系統使用的 lsd_release -a? 命令? 查看版本 /etc/centos-release 是文本文件? cat是查看文本的命令 uname-r…

    2018-07-22
  • Blog Day 0:Linux運維學習方法論漫談

    By:Alvin Lin
    No:M30-43
    Date:2018-03-26

    Linux筆記 2018-03-26
  • linux學習4

    linux學習4

    Linux筆記 2018-07-14
欧美性久久久久