1. 程式人生 > >linux學習(正則表示式)

linux學習(正則表示式)

正則表示式

基礎正則表示式

特殊字元
[:alnum:] 代表英文大小寫字元及數字,即0-9,A-Z,a-z
[:alpha:] 代表任何英文大小寫字元,即A-Z,a-z
[:digit:] 代表數字而已,即0-9
[:upper:] 代表大寫字元,即A-Z
[:lower:] 代表小寫字元,即a-z
[:blank:] 代表空格鍵與[Tab]按鍵
[:cntrl:] 代表鍵盤上面的控制按鍵,即包括CR,LF,Tab,Del等
[:graph:] 除了空格符(空格鍵與tab鍵)外的其他所有按鍵
[:print:] 代表任何可以被打印出來的字元
[:punct:] 代表表單符號,即"'?!;:#$
[:space:] 任何會產生空白的字元,包括空格鍵Tab CR等
[:xdigit:] 代表十六進位制的數字型別,因此包括0-9,A-F,a-f的數字與字元
其中[:alnum:]、[:alpha:]、[:digit:]、[:upper:]、[:lower:]一定要知道代表什麼意思,因為它要比a-z或A-Z的用途更確定

RE字元
^word 待查詢的字串在行首
word$ 待查詢的字串在行尾
.     代表一定有一個任意字元的字元
\     轉義字元,將特殊符號的特殊意義去除
*     重複零個到無窮多個的前一個字元
[list] 從字符集和的RE字元裡面找出想要選取的字元
[n1-n2] 從字元集合的RE字元裡面找出想要選取的字元範圍
[^list] 從字元集合的RE字元裡面找出不要的字串或範圍
\{n,m\} 連續n到m個的前一個RE字元,若為\{n\}則是連續n個的前一個RE字元,若為\{n,\}則是連續n個以上的前一個RE字元

擴充套件正則表示式

RE字元
+ 重複一個或一個以上的前一個RE字元
? 零個或一個的前一個RE字元
| 用或(or)的方式找出數個字串
() 找出"組"的字串
()+ 多個重複組的判別