「印象中好像是 He 開頭,然後接某個數字的樣子…」當我們在找資料或是找 code 時,應該都有過類似的困擾吧,可以確定大概是哪個範圍的內容,但可能剛好不確定是哪個數字或是英文字母,結果只能一個一個慢慢搜尋看看,此時你需要的就是正規表達式![註1]
簡介
正規表達式是一種統一描述字串的方式,每一種類別都可以用符號去代表群體,例如\d
代表任意數字。基本上,正規表達式不太能算是給人類看的,比較偏向於給電腦看的。(我想這也是為什麼會有專門轉換正規表達式的網站)轉換的符號
在此介紹比較常用的符號們:\d
:任意數字\D
:任意非數字\w
:任意文字、數字或底線\W
:任意非文字、數字或底線\n
:換行字元[]
:代表單獨比對的字元-
:代表連續字元|
:代表或是{n}
:重覆 n 次
範例
- 在 log 檔裡面開頭常會是紀錄的當下時間,因此可以用
2024-02-07 11:(\d{2}):(\d{2})\.(\d{3})
去找尋 2 月 7 日當天早上 11 點的紀錄。 - 確定要搜尋的字串有 20 個字元,並且為 C 開頭 H 結尾,那可以搜尋
C[a-zA-Z0-9]{18}H
。
註1: 正規表達式可以討論的範圍很廣,在此僅針對軟體的部分討論