shell指令碼正規表示式

轻棠發表於2024-04-21

image

宣告:
以下內容為個人筆記,內容不完全正確,請謹慎參考。

正規表示式

含義:
正規表示式使用的每個單獨字串來描述、匹配一些列符合語法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些符合某個模式的文字。在Linux中,grep,sed,awk等文字處理工具都支援正規表示式進行模式匹配。

常規匹配
一串不包含特殊字元的正規表示式匹配它自己,例如:
image
常用特殊字元:
1、特殊字元:^
^匹配一行的開頭,例如:
image

2、特殊字元:\( \)匹配一行的結尾,例如:
image

2.1
image

例:
image

3、特殊字元:.
.匹配一個任意字元,例1:
image
例2:
image

4、特殊字元:*
不單獨使用,它和上一個字串連線,表示匹配上一個字元0次或多次。例如:
image
4.1
image
例1:
image
例2:
image
例3:
image
5、特殊字元:中括號[]
[]表示匹配某個範圍內的一個字元,例如:
[6,8]匹配6或者8
[0-9]匹配一個0-9任意數字
[a-z]匹配任意一個a-z之間的字母
[a-z]
匹配任意長度的字母字串
例:
image
會匹配rat,rt,rtkit等等所有行。
6、特殊字元:
\表示轉義,並不會單獨使用。由於所有特殊字元有其特定的匹配模式,當想匹配某一特殊字元本身時(例如,想找出所'$'的行)就非常難找,這時可利用轉移字元將特殊字元連用,表示特殊字元本身。
例:
image
擴充:擴充套件規則
a{2} 表示a出現兩次
趣味小栗子:
利用正則匹配手機號:
image
簡易寫法:
image

相關文章