1. 程式人生 > >linux正則表達式,(以grep為例)

linux正則表達式,(以grep為例)

ant per egrep 大小寫 則表達式 spa 表示 中括號 第四章

第一章 基礎正則表達式
^word 匹配以word開頭的內容
word$ 匹配以我word結尾的內容
^$ 表示空行
. 代表有且只代表任意一個字符
\ 轉義符號,例如. 就只代表點本身,讓有著特殊身份意義的字符脫掉馬甲,還原原型
*號 重復0個或多個前面的字符,例o匹配沒有o,有1個o或多個ooooo
. 匹配所有字符
[abc] 匹配字符集合內的任意一個字符
[^abc] 匹配不包含^後的任意一個字符的內容,中括號裏的^為取反
a{n,m} 重復n到m次。前一個重復的字符。
a{n,} 重復至少n次。前一個重復的字符如果用egrep/sed -r 可以去掉斜線
a{n} 重復n次。前一個重復的字符如果用egrep/sed -r 可以去掉斜線
a{,m} 重復至多m次
第2章擴展的正則表達式
+號 表示重復“一個或一個以上”前面的字符(
是0個或多個)
? 表示重復“0個或1個前面的字符”(.是有且只有1個)
| 表示同時過濾多個字符串
() 分組過濾,後向引用
第三章 POSIX字符
正則表達式 描述 示例
[:alnum:] [a-zA-Z0-9]匹配任意一個字母或數字字符 [[:alnum:]]+
[:alpha:] 匹配任意一個字母字符(包括大小寫字母) [[:alpha:]]{4}
[:blank:] 空格與制表符(橫向縱向) [[:blank:]]*
[:digit:] 匹配任意一個數字字符 [[:digit:]]?
[:lower:] 匹配小寫字母 [[:lower:]]{5,}
[:upper:] 匹配大寫字母 ([[:upper:]]+)?
[:punct:] 匹配標點符號 [[:punct:]]
[:space:] 匹配一個包括換行符,回車等在內的所有空白符 [[:space:]]+
[:graph:] 匹配任何一個可以看得見的且可以打印的字符 [[:graph:]]
[:xdigit:] 任何一個十六進制數 [[:xdigit:]]+
[:cntrl:] 任何一個控制字符(ASCII字符集中的前32個字符) [[:cntrl:]]
[:print:] 任何一個可以打印的字符 [[:print:]]
第四章 元字符

正則表達式 描述 示例
\b 單詞邊界 \bcool\b匹配cool,不匹配coolant
\B 非單詞邊界 cool\B匹配coolant不匹配cool
\d 單個數字字符 b\db匹配b2b,不匹配bcb
\D 單個非數字字符 b\Db匹配bcb不匹配b2b
\w 單個單詞字符(字母,數字與_) \w匹配1或a,不匹配&
\W 單個非單詞字符 \W匹配&,不匹配1或a
\n 換行符 \n匹配一個新行
\s 單個空白字符 x\sx匹配xx,不匹配xx
\S 單個非空白字符 x\S\x匹配xkx,不匹配xx
\r 回車 \r匹配回車
\t 橫向制表符 \t匹配一個橫向制表符
\v 垂直制表符 \v匹配一個垂直制表符
\f 換頁符 \f匹配一個換頁符

linux正則表達式,(以grep為例)