1. 程式人生 > >Unix grep正則表示式元字元

Unix grep正則表示式元字元

grep正則表示式元字符集(基本集)

^

錨定行的開始 如:\'^grep\'匹配所有以grep開頭的行。

$

錨定行的結束 如:\'grep$\'匹配所有以grep結尾的行。

匹配一個非換行符的字元 如:\'gr.p\'匹配gr後接一個任意字元,然後是p。

*

匹配零個或多個先前字元 如:\'*grep\'匹配所有一個或多個空格後緊跟grep的行。 .*一起用代表任意字元。

[]

匹配一個指定範圍內的字元,如\'[Gg]rep\'匹配Grep和grep。

[^]

匹配一個不在指定範圍內的字元,如:\'[^A-FH-Z]rep\'匹配不包含A-R和T-Z的一個字母開頭,緊跟rep的行。

(..)

標記匹配字元,如\'(love)\',love被標記為1。

<

錨定單詞的開始,如:\'

>

錨定單詞的結束,如\'grep>\'匹配包含以grep結尾的單詞的行。

x{m}

重複字元x,m次,如:\'0{5}\'匹配包含5個o的行。

x{m,}

重複字元x,至少m次,如:\'o{5,}\'匹配至少有5個o的行。

x{m,n}

重複字元x,至少m次,不多於n次,如:\'o{5,10}\'匹配5--10個o的行。

w

匹配文字和數字字元,也就是[A-Za-z0-9],如:\'Gw*p\'匹配以G後跟零個或多個文字或數字字元,然後是p。

W

w的反置形式,匹配一個或多個非單詞字元,如點號句號等。

b

單詞鎖定符,如: \'bgrepb\'只匹配grep。

3. 用於egrep和 grep -E的元字元擴充套件集

+

匹配一個或多個先前的字元。如:\'[a-z]+able\',匹配一個或多個小寫字母后跟able的串,如loveable,enable,disable等。

?

匹配零個或多個先前的字元。如:\'gr?p\'匹配gr後跟一個或沒有字元,然後是p的行。

a|b|c

匹配a或b或c。如:grep|sed匹配grep或sed

()

分組符號,如:love(able|rs)ov+匹配loveable或lovers,匹配一個或多個ov。

x{m},x{m,},x{m,n}

作用同x{m},x{m,},x{m,n}