RE:Regex,reRegex
Regex(RE):
基本RegexBRE:grep和sed使用,egrep和awk使用
擴充的Regex:egrep和awk使用
基本特殊字元的含義:
^tux匹配以tux起始的行(在sed和grep中必須出現再第一個)
tux$匹配以tux結束的行(在sed和grep中必須出現再最後一個)
.匹配除分行符號之外的任意單個字元(awk中可以匹配分行符號)
*匹配前面一個字元0次或多次(包括前面這個字元)
.*匹配任一字元0次或多次
[]匹配包含在[XXX]中的任意一個字元,除了下面三個,其它特殊字元在[]中都是一般字元。
[\X]用\在[]中轉義特殊字元
[^X]匹配沒有包含在[^XXX]中的任意一個字元
[X-X]匹配[m-n]中指定範圍內的任意一個字元
\{n\}匹配前面一個字元n次(包括前面這個字元)
\{n,\}匹配前面一個字元至少n次(包括前面這個字元)
\{n,m\}匹配前面一個字元至少n次,最多m次(包括前面這個字元)
\逸出字元,將特殊字元轉換成一般字元
擴充的特殊字元含義:(egrep和awk使用)
+匹配前面的一個字元1次或多次(包括前面這個字元)
?匹配前面的一個字元0次或1次出現(包括前面這個字元)
|指定可以匹配其前面或後面的Regex,也就是或
() 對Regex分組,()中的你內容看作一個整體
{n}匹配前面一個字元n次(包括前面這個字元)
{n,}匹配前面一個字元至少n次(包括前面這個字元)
{n,m}匹配前面一個字元至少n次,最多m次(包括前面這個字元)
說明:如果是匹配前面一個字元0次,包括前面這個字元:就是說0次時模式中的*前面的這個字元要去掉。
字元類(用於[]中):
[:alnum:]可列印的字元(包括空白字元)
[:alpha:]字母字元
[:blank:]空格和定位字元
[:cntrl:]控制字元
[:digit:]數字字元
[:graph:]圖形字元(不包括空格字元)
[:lower:]小寫字元
[:print:]可列印字元(包括空白字元)
[:punct:]標點符號字元
[:space:]空白字元
[:upper:]大寫字元
[:xdigit:]十六進位字元
未完待續......