1. 程式人生 > >Linux下正則表示式的使用及grep工具

Linux下正則表示式的使用及grep工具

正則表示式

規定一些特殊語法表示字元類、數量限定符和位置關係,然後用這些特殊語法和普通字元一起表示一個模式。

  1. 字元類
    這裡寫圖片描述

例如:
匹配電話號碼的正則表示式:1[3578][0-9]{9}。
表示第一位是1,第二位是3、5、7、8中的一個,後面9位都是0-9中的一位。
2. 數量限定符

這裡寫圖片描述

3.位置限定符
這裡寫圖片描述

4.其他特殊字元
這裡寫圖片描述

grep

grep是一種查詢過濾工具,正則表示式在grep中用來查詢符合模式的字串。

grep有兩種規範:Extended和Basic規範,以上為Extended規範(對應擴充套件正則),Basic規範(對應標準正則)也有這些語法,只是對於字元?+{}()|應解釋為普通字元,使用時需要進行轉義\。
grep預設為Basic規範,加上-E選項後就是Extended規範。
而egrep預設是Extended規範。
假設檔案file1中有這些字元:

13.3.21.4
ew13.3.21.4
13.3,2d1.4
13.3.21.4eqw
13>.3.21.43124
1653.331.21.4
 13.h3.21.4
15278934567
1527893456732
152789fe567
12278934567
15.278934567
15_78934567
152hfui78934567
123455768@qq.com
v1dw23455768@qq.com
12345@5768@qq.com
123455_768@qq.com
123455768@qq..com
123455768@qq.com.cn
123455768
#@qq.com

–color選項是修改匹配的字串的顏色。
1.查詢其中正確的電話號碼
這裡寫圖片描述
2.查詢其中正確的qq郵箱
這裡寫圖片描述
3.查詢正確的IP地址
這裡寫圖片描述
如果不使用-E選項,使用basic規範
1.查詢其中正確的電話號碼
這裡寫圖片描述
2.查詢其中正確的qq郵箱
這裡寫圖片描述
3.查詢正確的IP地址
這裡寫圖片描述