2024-09-08|閱讀時間 ‧ 約 23 分鐘

新手村導讀 - 9: 正規表達式

「印象中好像是 He 開頭,然後接某個數字的樣子…」當我們在找資料或是找 code 時,應該都有過類似的困擾吧,可以確定大概是哪個範圍的內容,但可能剛好不確定是哪個數字或是英文字母,結果只能一個一個慢慢搜尋看看,此時你需要的就是正規表達式![註1]

簡介

正規表達式是一種統一描述字串的方式,每一種類別都可以用符號去代表群體,例如 \d 代表任意數字。基本上,正規表達式不太能算是給人類看的,比較偏向於給電腦看的。(我想這也是為什麼會有專門轉換正規表達式的網站)

轉換的符號

在此介紹比較常用的符號們:

  • \d:任意數字
  • \D:任意非數字
  • \w:任意文字、數字或底線
  • \W:任意非文字、數字或底線
  • \n:換行字元
  • []:代表單獨比對的字元
  • -:代表連續字元
  • :代表或是
  • {n}:重覆 n 次

範例

  1. 在 log 檔裡面開頭常會是紀錄的當下時間,因此可以用 2024-02-07 11:(\d{2}):(\d{2})\.(\d{3}) 去找尋 2 月 7 日當天早上 11 點的紀錄。
  2. 確定要搜尋的字串有 20 個字元,並且為 C 開頭 H 結尾,那可以搜尋
    C[a-zA-Z0-9]{18}H

註1: 正規表達式可以討論的範圍很廣,在此僅針對軟體的部分討論

參考資料:

  1. 正規表示式 - 維基百科,自由的百科全書 (wikipedia.org)
  2. regex101: build, test, and debug regex
  3. 正規表示式 (Regular Expression) 語法整理 | Vixual
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.