聲明: 以下內容為個人筆記,內容不完全正確,請謹慎參考。 正則表達式 含義: 正則表達式使用的每個單獨字元串來描述、匹配一些列符合語法規則的字元串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。在Linux中,grep,sed,awk等文本處理工具都支持正則表達式進行模式 ...
聲明:
以下內容為個人筆記,內容不完全正確,請謹慎參考。
正則表達式
含義:
正則表達式使用的每個單獨字元串來描述、匹配一些列符合語法規則的字元串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。在Linux中,grep,sed,awk等文本處理工具都支持正則表達式進行模式匹配。
常規匹配
一串不包含特殊字元的正則表達式匹配它自己,例如:
常用特殊字元:
1、特殊字元:^
^匹配一行的開頭,例如:
2、特殊字元:\(
\)匹配一行的結尾,例如:
2.1
例:
3、特殊字元:.
.匹配一個任意字元,例1:
例2:
4、特殊字元:*
不單獨使用,它和上一個字元串連接,表示匹配上一個字元0次或多次。例如:
4.1
例1:
例2:
例3:
5、特殊字元:中括弧[]
[]表示匹配某個範圍內的一個字元,例如:
[6,8]匹配6或者8
[0-9]匹配一個0-9任意數字
[a-z]匹配任意一個a-z之間的字母
[a-z]匹配任意長度的字母字元串
例:
會匹配rat,rt,rtkit等等所有行。
6、特殊字元:
\表示轉義,並不會單獨使用。由於所有特殊字元有其特定的匹配模式,當想匹配某一特殊字元本身時(例如,想找出所'$'的行)就非常難找,這時可利用轉移字元將特殊字元連用,表示特殊字元本身。
例:
拓展:擴展規則
a{2} 表示a出現兩次
趣味小慄子:
利用正則匹配手機號:
簡易寫法: