正規表示式的特殊符號:
[:alnum:] 代表英文大寫字母和數字
[:alpah:] 代表英文大小寫字母
[:blank:] 代表空格和tab
[:cntrl:] 鍵盤上的控制按鍵:eg: cr,lf,tab,del
[:digit:] 代表數字
[:graph:] 代表空白符意外的其他
[:lower:] 小寫字母
[:print:] 可以被列印出來的任何字元
[:punct:] 代表標點符號
[:upper:] 代表大寫字元
[:space:] 任何會產生空白的字元如空格,tab,cr,etc
[:xdigit:] 代表16進製的數字型別
shell裡查詢小寫字母:
$ grep -n '[[:lower:]]' file_name
藍色為匹配成功的字元
由於不同語系的編碼資料不同,所以造成不同語系的資料選取結果有所不同。因此要特別留意。
grep命令
引數說明:
-a 將binary檔案以text檔案的方式搜尋資料
-c 計算找到『搜尋字串』的次數
-i 忽略大小寫的不同,所以大小寫視為相同
-n 輸出行號
-v 反向選擇,即顯示出沒有『搜尋字串』內容的那一行
字元組匹配:
中包含的任意乙個字元(字串),只能是乙個。
字元組支援連字元-表示乙個範圍。
[^...]排除型字元組,排除後面的字元。
eg:$ [^a1<] 排除a,1,《外的其他任意乙個字元
查詢字元「oog」,同時不想要字元前有g:
$ grep -n '[^g]oog' file_name
行首行尾的查詢:
'^[a-z]' 查詢行首內容為大寫字母的
'[^a-z]' 查詢行首內容非大寫字母的所有字元
'char$' 以char字母結尾的行
過濾掉空白行: '^$'
過濾掉注釋行: '^#' (以#號開頭)
. : 小數點表示任意乙個字元
* : 星號表示重複前面0個或任意多個字元
eg:e* 具有0個或多個e
ee* 第乙個e必須存在,第二個e可以有0個或任意多個
限定連續字元範圍:
{}:可限制乙個範圍區間內的重複字元數,shell中需要用到轉義\
查詢連續的兩個o字元:
$ grep -n 'o\' file_name 查詢連續的兩個o字元
找出n到m個前乙個字元
找出n個以上的前乙個字元
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...