fixmint
ZH-TW

尋找與取代中的正規表示式:七個範例新手指南

作者: · · 更新於 2026年11月8日 · 閱讀約 4 分鐘

正規表示式(regex)是以幾個符號寫成的比對樣式。在尋找與取代工具中開啟正規表示式後,「尋找」欄位會讀取樣式而非純文字,因此句點代表任意一個字元,而不是句點本身。多數實用的樣式只需要幾個符號。搜尋一般字詞時請再把正規表示式關閉,因為這時每個符號都只代表字面上的意思。

尋找與取代一次取代文字中的某個詞免費使用

你需要的符號

符號比對內容
.除換行外的任一字元
*前面的項目,出現零次或多次
+前面的項目,出現一次或多次
?前面的項目,出現一次或完全不出現
[ ]方括號中的任一字元,例如 [aeiou] 或 [0-9]
\d \w \s一個數字;一個字母、數字或底線;一個空格、定位字元或換行
( )群組,「取代」可以用 $1、$2 等重複使用
^ 和 $整段文字的開頭與結尾

大寫字母會把類別反過來:\D 代表任何非數字的字元,\S 代表任何非空白的字元。

這個工具有兩點要注意。第一,\w 只比對英文字母、數字與底線。若要比對帶有重音符號的字母,請使用 \p{L},它可以比對任何字母系統中的字母。第二,^ 和 $ 比對的是整段文字的開頭與結尾,而不是每一行。下方的範例改用樣式中的換行來處理。

群組與 $1

把樣式的一部分放進括號,工具就會記住該部分比對到的內容。在「取代」中,$1 代表第一個群組,$2 代表第二個群組,$& 代表整段比對結果。工具本身的常見問題提供了一個經典例子:當「尋找」設為 (\w+)@(\w+)、「取代」設為 $2 at $1 時,文字 name@site 會變成 site at name。群組只有在開啟正規表示式時才有效;關閉時,$1 會照原樣輸入。

分步建立樣式

先從你想找的確切文字開始,再把會變動的部分換成符號。像 2026-11-04 這樣的日期可以寫成 \d{4}-\d{2}-\d{2},其中 {4} 代表前面的項目恰好出現四次。先測試簡單的版本,只有當反白顯示的結果顯示比對範圍太廣時,才再收緊樣式。

如果想在不改動任何內容的情況下,單獨看看樣式的效果,正規表示式測試器 會用範例文字執行它,並列出每一個比對結果。

七個範例

每個範例都要開啟正規表示式。複製之前,工具會反白顯示比對結果並顯示數量,因此請先在文字的副本上測試每個範例。

  1. 交換名字與姓氏。 「尋找」填入 (\w+) (\w+),「取代」填入 $2, $1。"Ada Lovelace" 會變成 "Lovelace, Ada"。若名字帶有重音符號,請使用 (\p{L}+) (\p{L}+)。這個樣式只適用於兩個字的姓名。
  2. 去除行尾空白。 「尋找」填入 [ \t]+(?=\r?\n|$),「取代」留空。它會比對緊接在換行或文字結尾之前的空格或定位字元。前瞻斷言 (?=...) 只檢查換行是否存在,不會將其移除;\r? 則涵蓋 Windows 的換行格式。修正貼上的文字 內有「逐行修剪」選項,功能相同。
  3. 合併重複空格。 「尋找」填入 {2,},也就是連續兩個或以上的空格;「取代」填入一個空格。兩個以上的空格會變成一個。它也會縮減縮排,因此處理程式碼時請略過。
  4. 為每一行加上前綴。 「尋找」填入 (.+),「取代」填入 - $1。換行之間每段一個以上的字元就是一行,$1 會保存該行內容。空白行會被略過。請使用一個以上的寫法 .+,而不要用零個以上的寫法,因為零個以上的寫法也會比對換行之間的空位,使空白行多出一個多餘的破折號。
  5. 刪除空白行。 「尋找」填入 \n\s*(?=\n),「取代」留空。比對內容是一個換行,加上其後直到下一個換行之前的所有空白字元,而下一個換行會被保留。這會移除空白行,包括只含空格的行。由於 \s 也會比對歸位字元,Windows 的換行格式同樣適用。位於文字最上方的空白行會保留。刪除重複行 工具有一個「刪除空白行」選項,只要勾選一下就能達到相同效果。
  6. 每行一個項目。 「尋找」填入 ,[ ]*,「取代」填入 \n,並勾選「取代時讀取 \n 和 \t」。"apples, pears, plums" 會變成三行。若不勾選,\n 會以反斜線加 n 這兩個字元保留下來。
  7. 為每個數字加上方括號。 「尋找」填入 \d+,「取代」填入 [$&]。"Order 42 and 7" 會變成 "Order [42] and [7]"。$& 代表整段比對結果,因此不需要群組。

複製前的檢查

  • 比對數量與反白顯示會告訴你樣式抓到了什麼。若反白顯示有誤,結果也會出錯。
  • 樣式有錯誤時,欄位下方會顯示「不是有效的樣式」。修正樣式後,結果會自動更新。
  • 將「取代」留空,就能刪除所有比對結果。欄位中的提示文字也有說明。
  • 「區分大小寫」預設為關閉,因此範例會同時比對大寫與小寫。當大小寫有差別時,請將其開啟。
  • 開啟正規表示式時,若要尋找句點或方括號本身,請在前面加上反斜線:\. 或 \[。

特殊情況

  • 貪婪比對。 .+ 會盡可能多地比對。若要在第一個符合處停止,請加上問號:.+?。這對像 <b>.+</b> 這樣的文字很重要,因為它可能跨越多個標籤。
  • 完整單字。 若只是一般字詞,關閉正規表示式會比較安全。如工具的常見問題所說明,「只比對完整單字」可以避免 cat 符合 category 中的部分字串。尋找與取代指南 有更多完整單字替換的範例。
  • 保留原文。 結果會顯示在獨立的欄位中,輸入的文字則維持原樣。確認無誤後,再將結果複製出來。

借助 AI 協助,由英文原文翻譯而成。

留言

    還沒有留言,搶先留言吧。

    您的評分(選填)

    您的電子郵件不會顯示,也不會被保存。

    How to Remain Valuable When Intelligence Becomes Cheap 的封面How to Remain Valuable When Intelligence Becomes Cheap

    224 頁,探討當 AI 能處理多數認知工作時,人類、經濟與策略上仍然稀缺的優勢。

    $3.84在 Gumroad 購買英文版