Shell正則

1.Shell正則表達式

​ Linux中常用的有兩種正則表達式引擎:基礎正則表達式BRE、擴展正則表達式ERE。

	正則表達式也譯爲正規表示法、常規表示法,是一種字符模式,用於再查找過程中匹配指定的字符。

​ 支持正則表達式的程序:locate | find | vim | grep | sed | awk

1.1 基礎正則表達式

字符 描述
. 匹配除換行符\n之外的任何單個字符
* 匹配前面的子表達式零次或多次
.* 匹配任意長度字符
^ 匹配輸入字符串的開始位置(行首)
$ 匹配輸入字符串的結尾位置(行尾)
^$ 空行
[] 匹配包含在方括號裏的任意一個字符或一組單個字符
[^] 匹配不包含在方括號裏任意一個字符或一組單個字符
< 匹配單詞開頭的位置
> 匹配單詞詞尾的位置
< > 精確匹配
{n} 匹配前面的字符連續出現n次
{n,} 匹配前面的字符至少出現n次
{n,m} 匹配前面的字符至少出現n次與m次之間
( ) 保存被匹配的字符
\d 匹配數字[0-9]。(grep -P)
\w 匹配字母數字下劃線[a-zA-Z0-9_]。(grep -P)
\s 匹配空格、製表符、換行符[\t\r\n]。(grep -P)

1.2 擴展正則表達式

​ grep需使用參數-E或使用egrep,sed需使用參數-r。

擴展正則表達式 說明
+ 匹配前面的子表達式一次或多次
匹配前面的子表達式零次或一次,或指明一個非貪婪限定符
| 指明兩項之間的一個選擇(或)
() 標記一個子表達式的開始和結束位置。
{n} 匹配前面的字符連續n次
{n,} 匹配前面的字符至少n次
{n,m} 匹配前面的字符n到m次

1.3 第二類正則表達式

表達式 說明
[:alnum:] 字符與數字字符
[:alpha:] 字母字符(包括大小寫字母)
[:blank:] 空格與製表符
[:digit:] 數字
[:lower:] 小寫字母
[:upper:] 大寫字母
[:punct:] 標點符號
[:space:] 包括換行符,回車等在內的所有空白
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章