正規表示式

2022-07-22 22:48:27 字數 1283 閱讀 6630

正規表示式的特殊符號:

[: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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...