正則表達式詳細用法

grep命令:
文本過濾(按行過濾)
參數
? ? ? ? ? ? ? ? -v 取反
? ? ? ? ? ? ? ? -i 忽略大小寫
? ? ? ? ? ? ? ? -n 顯示行號
? ? ? ? ? ? ? ? -c 統計匹配行數
? ? ? ? ? ? ? ? -q 靜默執行(不顯示執行結果)
? ? ? ? ? ? ? ? -o 僅顯示搜索到的字符串
? ? ? ? ? ? ? ? -A #(數字) 包含關鍵字的后續幾行
? ? ? ? ? ? ? ? -B #(數字) 包含關鍵字的前面幾行
? ? ? ? ? ? ? ? -C #(數字) 包含關鍵字的前后幾行
? ? ? ? ? ? ? ? -w 匹配整個單詞
? ? ? ? ? ? ? ? -E 相當于fgrep
正則表達式
REGEXP匹配字符串
? ? ?正則表達式元字符
? ? ? ? ? ? ? ? \ 轉義字符
? ? ? ? ? ? ? ? . 匹配任意單個字符
? ? ? ? ? ? ? ? [] 匹配指定范圍外的任意單個字符
? ? ? ? ? ? ? ? [^] 匹配除了[]內單一字符
? ? ? ? ? ? ? ? [:alnum:] 字母和數字
? ? ? ? ? ? ? ? [:alpha:]A-Z,a-z 代表任何英文大小寫字符
? ? ? ? ? ? ? ? [:upper:]A-Z 大寫字母
? ? ? ? ? ? ? ? [:lower:]a-z 小寫字母
? ? ? ? ? ? ? ? [:blank:] 空白字符
? ? ? ? ? ? ? ? [:space:] 水平和垂直的空白字符
? ? ? ? ? ? ? ? [:cntrl:] 不可打印的控制字符(退格,刪除,警鈴)
? ? ? ? ? ? ? ? [:digit:] 十進制數字
? ? ? ? ? ? ? ? [:xdigit:] 十六進制數字
? ? ? ? ? ? ? ? [:graph:] 可打印的非空白字符
? ? ? ? ? ? ? ? [:print:] 可打印的空白字符
? ? ? ? ? ? ? ? [:punct:] 標點符號
? ? ?正則表達式位置錨定:定位出現的位置
? ? ? ? ? ? ? ? ^ 行首錨定,用于模式的最左側
? ? ? ? ? ? ? ? $ 行尾錨定,用于模式的最右側
? ? ? ? ? ? ? ? ^PATTERN$ 用于模式匹配整行
? ? ? ? ? ? ? ? ^$空行 空行
? ? ? ? ? ? ? ? ^[[:space;]]*$ 空白行
? ? ? ? ? ? ? ? \<或\b 詞首錨定,用于單詞模式的左側
? ? ? ? ? ? ? ? \>或\b 詞尾錨定,用于單詞模式的右側
? ? ? ? ? ? ? ? \<PATTERN\> 匹配整個單詞
? ? ?正則表達式分組
? ? ? ? ? ? ? ? \(\)將一個或多個字符捆綁在一起,當作一個整體進行處理,如\(root\)\+
? ? ? ? ? ? ? ? 分組括號中的模式匹配到的內容會被正則表達式引擎記錄于內部的變量中,
? ? ? ? ? ? ? ? 這些變量的命名方式為:\1,\2,\3,..
? ? ? ? ? ? ? ? \1 表示從左側起第一個左括號以及為止匹配右括號之間的模式所匹配到 的字符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 示例: \(string1\+\(string2\)*\)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \1 : string1\+\(string2\)*
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\2 : string2
? ? ? ? ? ? ? ? 后向引用:引用前面的分組括號中模式所匹配字符,而非模式本身
? ? ? ? ? ? ? ? 或者\|
? ? ? ? ? ? ? ? 示例 : a\|b: a或b C\|cat: C或cat \(C\|c\)at:Cat或cat
? ? ?正則表達式次數匹配
? ? ? ? ? ? ? ? .*: 匹配前面字符任意次
? ? ? ? ? ? ? ? \?: 0或1次
? ? ? ? ? ? ? ? \+: 1次或多次
? ? ? ? ? ? ?? ?\{n\}: 匹配前面的字符n次
? ? ? ? ? ? ? ? \{m,n\} 匹配前面的字符至少m次,至多n次
? ? ? ? ? ? ? ? \{,n\} 匹配前面的字符至多n次
? ? ? ? ? ? ? ? \{n,\} 匹配前面的字符至少n次
? ? ? ? ? ? ? ? egrep及擴展的正則表達式
? ? ? ? ? ? ? ? egrep命令
? ? ? ? ? ? ? ? egrep=grep-E
擴展正則表達式
? ? ?擴展正則表達式元字符
? ? ? ? ? ? ? ? . 匹配任意單個字符
? ? ? ? ? ? ? ? [] 匹配指定范圍外的任意單個字符
? ? ? ? ? ? ? ? [^] 字母和數字
? ? ? ? ? ? ? ? 擴展正則表達式位置錨定
? ? ? ? ? ? ? ? ^ 行首錨定,用于模式的最左側
? ? ? ? ? ? ? ? $ 行尾錨定,用于模式的最右側
? ? ? ? ? ? ? ? \<或\b 詞首錨定,用于單詞模式的左側
? ? ? ? ? ? ? ? \>或\b 詞尾錨定,用于單詞模式的右側
? ? ?擴展正則表達式分組
? ? ? ? ? ? ? ? ()
? ? ? ? ? ? ? ? 后向引用:\1,\2,…
? ? ? ? ? ? ? ? 例 : a|b: a或b C|cat: C或cat (C|c)at:Cat或cat
? ? ?擴展正則表達式次數匹配
? ? ? ? ? ? ? ? *: 匹配前面字符任意次
? ? ? ? ? ? ? ? ?: 0或1次
? ? ? ? ? ? ? ? +: 1次或多次
? ? ? ? ? ? ? ? {m}: 匹配m次
? ? ? ? ? ? ? ? {m,n}: 至少m次,至多n次

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

(0)
簡單不簡單簡單不簡單
上一篇 2018-04-08 15:07
下一篇 2018-04-08 15:53

相關推薦

  • 隨堂筆記2

    記馬哥Linux運維課程第二周知識點(持續更新中)   bin目錄 存放二進制數據 給普通用戶執行的 在Centos7上 綠色的為… 并不是真正的文件夾 而是快捷方式 bin->usr/bin 內容放在一起 ;在6上,這兩者并不是同一個目錄,分開放 sbin 給管理員執行的二進制程序 media mnt(mount) 充當外圍設備…

    Linux筆記 2018-07-29
  • 計算機原理與Linux基礎

    計算機的組成及功能 1、其實計算機的組織分為內部設備和外部設備, 內部設備: ? ? ? ? CPU:運算器、寄存器、緩存 ? ? ? ? 存儲器:內存,RAM(Random Access Memory) ? ? ? ? 控制器:控制器是整個計算機系統的控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理。 外部…

    Linux筆記 2018-05-13
  • Varnish緩存服務介紹及相關實驗

    緩存是指把對某些請求的結果緩存下來,下次請求直接使用數據響應,這樣極大的節省了系統獲取源數據資源的時間,若我們把大量的請求結果都使用緩存服務器來響應,那么我們可以大大減少計算機數量減少成本。

    2018-07-19
  • 7月2日~7月8日作業

    1、列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。 ~]# who | cut -d ?‘ ?’ ? -f1 ?| ?sort ?-u 2、取出最后登入到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作默認shell的最多的那個shell. 4、將/etc/passwd中的第三個字段數值最大的后10個用戶信息全…

    2018-07-07
  • grep與vim工具基本命令詳解

    本文記錄了些我在學習grep與vim時記錄的一些筆記,希望可以幫到大家

    2018-04-06
  • rpm包管理與yum源安裝及編譯安裝

    rpm -qp –scripts httpd…… :查看 安裝包的腳本安裝好的包信息在: /var/lib/rpm 里面 系統段依靠此文件可知道系統裝了那些包非常重要?。。?!需要備份 rpm-i [–install]-v verbose 顯示安裝過程– h 顯示進度–text 測試 -e…

    Linux筆記 2018-04-23
欧美性久久久久