Linux初識(八)正規表示式

2022-08-10 02:00:25 字數 2075 閱讀 7748

正規表示式(regular expression,在**中常簡寫為regex、regexp或re)是電腦科學的乙個概念。正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些符合某個模式的文字。許多程式語言都支援利用正規表示式進行字串操作。在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些符合某個模式的文字。

正規表示式用於字串處理、表單驗證等場合,實用高效。

生活中處處都是正則:

比如我們描述:4條腿

你可能會想到的是四條腿的動物或者桌子,椅子等

繼續描述:4條腿,活的

就只剩下四條腿的動物這一類了

在linux中,萬用字元是由shell解釋的,而正規表示式則是由命令解釋的,下面就用grep解釋正則。

引數

-n  :顯示行號   比如:#grep -n 'root' /etc/passwd

-o  :只顯示匹配的內容   比如:#grep -o 'root' /etc/passwd

-q  :靜默模式,沒有任何輸出,得用$?來判斷執行成功沒有,即有沒有過濾到想要的內容 比如:#grep -q 'root' /etc/passwd   #echo $?

-l  :如果匹配成功,則只將檔名列印出來,失敗則不列印,通常-rl一起用,比如:#grep -rl 'root' /etc/passwd

-a  :如果匹配成功,則將匹配行及其後n行一起列印出來, 比如:#grep -a 2 'root' /etc/passwd

-b  :如果匹配成功,則將匹配行及其前n行一起列印出來,比如:#grep -b 1 'root' /etc/passwd

-c  :如果匹配成功,則將匹配行及其前後n行一起列印出來,比如:#grep -c 2 'root' /etc/passwd

-c  :如果匹配成功,則將匹配到的行數列印出來,比如:#grep -c 'root' /etc/passwd

-e  :等於egrep,擴充套件,比如:#grep -e 'hello' a.txt

-i  :忽略大小寫,比如:#grep -i 'ab' a.txt

-v  :取反,不匹配,比如:#grep -v 'hello' a.txt

-w:匹配單詞,比如:#grep -w 『hello』 a.txt

grep種類

grep

fgrep

pgrep

egrep

正則介紹

^ 行首  比如:#egrep '^root' 1.txt

$ 行尾  比如:#egrep '$root' 1.txt

. 除了換行符以外的任意單個字元    比如: #egrep 'a.c' 1.txt

* 前導字元的零個或多個    比如  : #egrep 'ab*c' 1.txt

.* 所有字元       比如:  #egrep 'a.*c' 1.txt

字元組內的任一字元   比如: # egrep [abcde] 1.txt

[^] 對字元組內的每個字元取反(不匹配字元組內的每個字元)     比如: # egrep [^abcde] 1.txt

^[^] 非字元組內的字元開頭的行   比如: # egrep ^[^abcde] 1.txt

[a-z] 小寫字母  比如: # egrep [a-z] 1.txt

[a-z] 大寫字母  比如: # egrep [a-z] 1.txt

[a-z] 小寫和大寫字母   比如: # egrep [a-z] 1.txt

[0-9] 數字   比如: # egrep [0-9] 1.txt

匹配 {}前字元出現的n次的字串  ,比如:# egrep 'abc' 1.txt

?  匹配 出現0或1次   比如:# egrep 'ab?c' 1.txt

|  管道分割符,「.....或者....」  比如:#egrep 'abc|abc' 1.txt   ,#egrep 'compan(y|ies)' 1.txt

表示{}前的字元出現0到無窮次  ,比如:# egrep 'abc' 1.txt

正規表示式 1 初識正規表示式

簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...

正規表示式初識

用來指定乙個字元集合 字元直接是 或 的關係,不是乙個特定的字串,跟 abc 不同 abc a z 在字符集中,元字元 不起作用 abc abc 元字元 在字串尾不起作用 abc 就是普通字元。元字元在字符集首表示匹配補集,abc 就是匹配除了a,b,c以外的字元。匹配行首,位於字串首。制定規則re...

正規表示式初識

正規表示式 為轉義如 表示.郵箱匹配 grep e 0 9a za z 0 9a za z a za z a.txt 查詢郵箱 a z 所有小寫字母 a z 所有大寫字母 0 9 所有數字 0 9 所有非數字 表達取反 0 9 a z 0個或多個小寫字母 a z 至少出現一次小寫字母 a z 出現0...