. 乙個字元
… 兩個字元
.* 至少乙個
^ 開頭
$ 結束
[abc] 包含a或b或c的都匹配 ,匹配單個字元
[^abc] 只要出現了abc這三個字母以外的字元就都匹配,排除
1 以a開頭或以b開頭或以c開頭
[abc] 不以a開頭或不以b開頭或不以c開頭
a+ 匹配至少乙個或多個a
a* 匹配0或多個a
大寫 [[:upper:]] [a-z]
小寫 [[:lower:]] [a-z]
字母 [[:alpha:]] [a-z]
字母數字 [[:alnum:]]
空格或者製表符 [[:blank:]]
純數字 [[:digit:]] [0-9]
標點符號 [[:punct:]]
正規表示式,又稱正規表示法、常規表示法(英語:regular expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。
在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些符合某個模式的文字。
許多程式語言都支援利用正規表示式進行字串操作。例如,在perl中就內建了乙個功能強大的正規表示式引擎。正規表示式這個概念最初是由unix中的工具軟體(例如sed和grep)普及開的。
正規表示式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。
grep 在檔案裡查詢某個關鍵字
顯示查出的行在原檔案的行號加n引數 grep -n root /etc/passwd
反向查詢加v引數 grep -v bin /etc/passwd
ps -ef | grep sshd | grep -v grep
大小寫不敏感加i引數 grep -ni root grep.txt
擴充套件grep
統計root在/etc/passwd裡出現了幾次
grep -o root /etc/passwd |wc -l
111222
333444
555666
aaabbb
333ccc
ddd555
333555
vmnet8 link encap:ethernet hwaddr 00:50:56:c0:00:08
inet addr:192.168.56.1 bcast:192.168.56.255 mask:255.255.255.0
查詢出有rot或者是rat的行 grep -n r[oa]t grep.txt --注意的是,括號內不論幾個字元,都是選乙個
查詢乙個非r字元加oot連在一起的行 grep 『[^r]oot』 grep.txt
查詢非小寫字母連著乙個oo的行 grep 『[^a-z]oo』 grep.txt
–記住: 裡的^為取反 ,外面的為以它開頭
grep [^a-z] grep.txt
查詢非全部為小寫字母的字串行
查詢至少包含乙個非小寫字母的字元行
root
boot
root
boot
root
root
rotboot
rot111
222,123
.456
haha
hello
a1234
a123
a12a1
root
root
rotboot
root
boot
root
rotboot
查詢不以大寫字母開頭 grep 『[[:upper:]]』 grep.txt
grep 『[a-z]』 grep.txt
grep -v 『4
』 grep.txt
查詢有數字的行 grep 『[0-9]』 grep.txt
或者 grep [[:digit:]] grep.txt
查詢乙個數字和乙個字母連起來的行
grep -e '[0-9][a-z]|[a-z][0-9]' grep.txt
查詢不以r開頭的 grep -v ^r grep.txt
grep [r] grep.txt
查詢以數字開頭的 grep 5
grep.txt
grep 6
grep.txt
查詢以大寫字母開頭的 grep 7
grep.txt 或者 grep 8
grep.txt
查詢以小寫字母開頭的 grep 9
grep.txt 或者 grep 10
grep.txt
查詢以點結束的 grep 「.」$ grep.txt --注意要引起來,而且要轉義
grep 「*」$ grep.txt
去掉空格行 cat grep.txt |grep -v ^$ --以^$表示空格行
查詢完全匹配abc的行 grep ^abc$ grep.txt
查詢到a後有三個數字的行 egrep a[0-9]
root
root
rotboot
rot111
222,123
.456
haha
hello
a1234
a123
a12a1
aa1234
a123
a12a1
aa1234
a123
a12a1
a1234
a123
a12a1
. 點號代表乙個任意字元
ggle
gogle
gooogle
gagle
gaagle
gaaagle
abcgef
abcdef
goagle
aagoog
wrqsg
grep g. grep.txt --g後邊有乙個任意字元
grep g* grep.txt --結果比較怪
grep 「g*」 grep.txt --結果比較怪
grep g.g grep.txt --g和g之間有乙個任意字元
grep gg grep.txt --包含1個或多個g的行
grep go.g grep.txt
grep go.g grep.txt
grep gog grep.txt
grep go…g grep.txt
grep go..g grep.txt
grep g.*g grep.txt
abc ↩︎
br ↩︎
a-z ↩︎
a-z ↩︎
0-9 ↩︎
[:digit:] ↩︎
a-z ↩︎
[:upper:] ↩︎
a-z ↩︎
[:lower:] ↩︎
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...
正規表示式 Linux
主要內容 1 正規表示式2 基礎3 擴充套件4 通配5 grep命令 正規表示式基礎 1 元字元 metacharacters 是用來闡釋字元表示式意義的字元,簡言之,元字元就是描述字元的字元,它用於對字元表示式的內容 轉換及各種操作資訊進行描述。正規表示式是由一串字元和元字元構成的字串,簡稱re ...
Linux正規表示式
正規表示式是一種符號表示法,用於識別文字模式。linux處理正規表示式的主要程式是grep。grep搜尋與正規表示式匹配的行,並將結果輸送至標準輸出。1.grep匹配模式 grep按下述方式接受選項和引數 其中,regex表示正規表示式 1 grep options regex files 其中op...