如何在 LibreOffice 的尋找和取代功能中使用正規表示式進行進階編輯

當您從尋找文字切換到使用正規表示式時,LibreOffice 的尋找和取代功能將變得更加強大。您不再需要搜尋一個確切的短語,而是可以描述一個模式:日期、連續的空格、段落末尾的數字、單字邊界,或您想要重新排列的幾段文字。

重要的選擇並非正則表達式是否比普通的查找替換“更好”,而是模式是否足夠可預測,以至於正則表達式既能節省時間,又不會增加編輯驗證的難度。對於單一拼字更改,字面搜尋通常更安全。但對於數百個結構相似的編輯,正規表示式可能是更簡潔的選擇。

本指南使用截至 2026 年 10 月的最新版 LibreOffice 說明文件。 LibreOffice 協助文件將正規表示式語法標識為基於 ICU,並記錄了目前的尋找和取代選項,包括擷取群組替換等$1。對話方塊佈局可能因作業系統和 LibreOffice 版本而略有不同,但工作流程相同。

正規表示式何時是合適的工具—以及何時不合適

在編寫模式之前,請先確定哪種搜尋模式最適合您的需求。 LibreOffice 提供了多種選擇,每種模式的風險等級各不相同。

需要編輯最佳起始選項主要優勢主要權衡
取代一個確切的短語普通查找和替換簡單易審計無法處理可變文本
匹配一個單詞,但該單詞不是較長單詞的一部分。僅完整單字或減少誤報詞邊界行為對標點符號和 Unicode 文本很重要
尋找可變日期、ID、數字或空格正規表示式一種模式可以匹配多種變體大範圍的模式可能會取代超出預期範圍的東西。
僅更改具有特定外觀的文本格式/屬性/樣式搜尋目標是格式而非字元。不適用於結構化文字模式
使用公式轉換電子表格文本計算REGEX()函數結果可以保持公式驅動和可審查性。更改工作表邏輯,而不是直接編輯單元格。

對於一次性文件清理,「尋找和替換」通常是最快的。在 Calc 中,REGEX()如果您希望在輔助列中進行可重複的轉換,而不是永久變更原始儲存格,則該功能可能更合適。

步驟 1:開啟「尋找與取代」功能

在 Writer 或 Calc 中,選擇“編輯”>“尋找和替換”。官方推薦的快速鍵是Ctrl+H。這樣會打開完整的對話框,而不是較小的快速搜尋欄。

LibreOffice Writer 編輯選單中,「尋找」和「取代」選項已高亮顯示,並顯示 Ctrl+H 快速鍵。
從「編輯」功能表或使用 Ctrl+H 開啟完整的「尋找和取代」對話方塊。

步驟二:啟用正規表示式

如有必要,展開其他選項,然後選擇「正規表示式」。啟用此選項後,逗號、括號、圓括號和錨點等字元.將具有特殊含義,而不是被視為普通文字。+*?

如果你確實需要使用這些字符,請用反斜線進行轉義。例如,` \.\` 符合句點,而 `\`.符合單一字元。

在「尋找與取代」對話方塊中選取「正規表示式」選項
輸入正規表示式模式前請啟用正規表示式。

步驟 3:從一個易於驗證的模式開始

一個好的初步測試方法是使用結構化值,例如 ISO 格式的日期。例如:

\d{4}-\d{2}-\d{2}

這意味著:從單字邊界開始,匹配四個小數位、一個連字符、兩個數字、另一個連字符、兩個數字,然後再次回到單字邊界。它會匹配類似這樣的文字2026-10-06。它不會驗證日期在日曆上是否可行,因此2026-99-99也會符合其他內容。這是一個匹配結構和驗證含義之間區別的有用範例。

替換前請使用「尋找全部」功能。 LibreOffice 可以在 Writer 和 Calc 中選擇所有匹配項,方便您快速直觀地檢查匹配範圍是否過廣。

使用日期正規表示式建立包含 ISO 日期的 Writer 文件以及尋找和取代對話方塊。
在替換任何內容之前,請測試結構化日期模式並查看突出顯示的匹配項。

步驟 4:需要重新排列文字時,請使用捕獲組

括號用於捕獲匹配項的一部分。在 LibreOffice 取代中,捕獲的部分內容分別以 `<p>`、`<p>` 等表示$1。$2這使得捕獲組在無需重新輸入匹配文字的情況下更改順序時非常有用。

例如,要轉換2026-10-06為10/06/2026:

尋找: (\d{4})-(\d{2})-(\d{2})
取代: $2/$3/$1

或者,對於簡單的兩部分姓名列表,可以使用類似「(\w+)\s+(\w+)帶替換」的模式$2, $1來反轉捕獲到的兩個單字。這個例子適用於受控列表,但它並非通用的「姓名解析器」:包含空格、首字母、後綴、連字符的姓氏以及多語言姓名需要更精細的模式。

“尋找和取代”對話方塊顯示兩個捕獲組和一個順序顛倒的替換項目。
捕獲組允許您在替換過程中保留匹配的文本,同時更改其順序。

步驟 5:在進行重大變更之前,先確定搜尋範圍。

縮小正規表示式的適用範圍可以提高其安全性。在擴充的尋找和取代選項中,「目前選取」選項會將動作限制在選取的文字或儲存格內。在 Calc 中,您還可以控制搜尋範圍是公式、顯示值還是註釋,並且可以在適當的時候跨工作表進行搜尋。

通常來說,這種方法比試圖用一個龐大的表達式來處理所有異常情況要好得多。如果只需要清理一個表格、一個節或一列,請先選取它,然後使用更簡單的正規表示式。

LibreOffice Writer 編輯選單中顯示了「尋找與取代」指令
如果您只打算使用目前選定的內容,請在選擇要編輯的部分後再開啟尋找和取代功能。

步驟 6:比較「尋找全部」、「取代」和「全部取代」功能

這三個按鈕分別代表不同的信心等級:

  • 尋找全部是風險最低的初步嘗試,因為它顯示了模式匹配的內容。
  • 取代操作會變更目前匹配項,然後移至下一個匹配項。當可能出現異常情況時,請使用此操作。
  • 當輸入內容統一且您已在代表性文字上測試過該模式時,「全部替換」功能非常有效。

一個實用的工作流程是:儲存文檔,執行「尋找全部」操作,檢查開頭、中間和結尾的幾個符合項,如果資料不規則,則使用單獨的「取代」操作。僅當模式邊界清晰時才使用「全部替換」 。

啟用「正規表示式」的「尋找和取代」對話框,並顯示「取代」和「全部替換」控件
使用「尋找全部」進行檢查,「取代」進行謹慎的逐次編輯,「取代全部」僅在驗證模式後才使用。

步驟 7:使用邊界和錨點減少錯誤匹配

一些小的限制條件通常能讓正規表示式更安全。 LibreOffice 文件會將字串作為單字邊界、^段落或單元格的開頭以及$段落或單元格的結尾。

例如:

  • book符合單字“book”,但不能符合包含在較長單字中的“book”。
  • ^Invoice僅在段落或儲存格的開頭查找“發票”。
  • [ ]+$在段落或儲存格末尾之前查找一個或多個空格或製表符。
  • ^$找到一個空段落。

當已知文字位置時,錨點通常比貪婪通配符更可取。例如,`\\` 這樣的模式.*可能會匹配到遠超預期的內容,因為 `\\`*預設是貪婪的。

使用單字邊界正規表示式在「尋找和取代」對話方塊中選擇「尋找所有已選取內容」。
詞語邊界和錨點使模式更加具體,從而降低了捕獲無關文本的幾率。

步驟 8:在做出決定前先進行視覺檢查

高亮顯示所有匹配項對於基於大小寫、單字邊界或字元類別的模式特別有用。例如,如果某個模式在範例段落中選擇了專有名詞,您可以立即查看它是否也選擇了句首字或其他您不想更改的文字。

這種視覺檢查是編輯流程的一部分,而不僅僅是調試的便利手段。正規表示式描述的是形狀,而不是意義。一個技術上正確的表達式,對於你的文件來說仍然可能是錯誤的。

一段文字中,幾個大寫單字被高亮顯示為正規表示式匹配項。
在決定是否進行批次替換之前,請先查看上下文以確認匹配項。

實用的 LibreOffice 正規表示式模式

任務尋找規律可能的替代品筆記
找到兩個或多個字面空格[ ]{2,}一個空間可用於簡單的間距清理;不包含製表符。
在段落末尾之前找到水平間距[ ]+$空的適用於新增尾隨空格和製表符。
找出十進制數字連續數\d+取決於任務\dICU 支援 Unicode。
找到一個字面上的句號\.取決於任務逃脫會阻止.玩家扮演「任何角色」。
尋找空白段落^$先審閱段落結構至關重要時,請謹慎使用。
格式改為 YYYY-MM-DD(\d{4})-(\d{2})-(\d{2})$2/$3/$1重新排列捕獲的文本;它不會驗證日期的真實性。

換行符號和段落分隔符號需要特別注意

LibreOffice Writer 對換行和段落符的處理方式不同。在 Writer 中, 「尋找」 方塊中的文件會被辨識為使用 Shift+Enter 插入的換行符號。而在Writer 的「替換」方塊中,則會插入段落符。同樣的標記在 Calc 中沒有相同的特殊替換意義。

LibreOffice 也指出,正規表示式文字搜尋只能在單一段落內進行。如果您之前使用過面向程式設計師的正規表示式工具,其中的模式可以掃描任意多行文本,那麼這一點就非常重要。在 Writer 中,您應該圍繞段落邊界來設計搜索,而不是假設單一表達式可以跨越多個段落。

正規表示式與整詞搜尋、相似度搜尋和格式搜尋

僅當文字本身固定時才選擇“完整單字”。

如果你只需要查找所有單獨出現的「cat」一詞,那麼只匹配完整單字的選項比編寫正規表示式更容易解釋和審核cat。當匹配項的內容發生變化時,正規表示式就顯得更有價值了。

選擇相似性搜尋以尋找近似匹配項,而不是結構。

相似度搜尋旨在尋找與某個字詞意思相近的字詞。它不能取代「四位數字,一個連字符,然後兩位數字」之類的模式。它適用於拼字變體,而非數據型文字。

如果外觀是主要考慮因素,請選擇格式或樣式。

如果需求是“將所有粗體文字變更為此樣式”,那麼使用格式和樣式搜尋比使用正規表示式更直接。在某些工作流程中,您可以將文字條件與格式結合使用,但應避免讓表達式承擔 LibreOffice 已透過專用搜尋選項處理的功能。

常見錯誤及避免方法

  • 忘記轉義標點符號:點是元字元;用作\.字面上的句號。
  • 使用過於寬泛的模式:新增邊界、錨點或更具體的字元類別。
  • 假設正規表示式驗證意義: \d{4}-\d{2}-\d{2}驗證形狀,而不是日曆規則。
  • 在檢查之前執行“全部替換”:先使用“查找全部”,並儘可能將搜尋範圍限制在選定區域內。
  • 未經檢查就從其他正規表示式引擎複製語法: LibreOffice 指向 ICU 正規表示式作為支援的語法。許多熟悉的結構都能正常運作,但引擎細節可能有所不同。
  • 期望一個模式跨越任意段落: Writer 正規表示式搜尋是段落範圍的;換行符號和段落分隔符號有特殊處理。

你該採用哪一種方法?

對於篇幅較短、編輯次數可預測的文檔,普通的查找替換或僅替換整詞功能更容易檢查。對於涉及可變文字的重複性清理工作,正規表示式通常值得額外設定。對於雜亂的人工數據,建議使用範圍較小的選擇並逐一替換,而不是使用巧妙但易出錯的表達式。對於需要保持可見且可重新計算的 Calc 轉換,建議使用REGEX()函數而不是直接修改來源單元格。

因此,LibreOffice 中最可靠的正則表達式工作流程並非“編寫盡可能短的表達式”,而是:限製作用域,使用僅表達已知內容的模式,檢查匹配項,然後選擇破壞性最小且仍能節省時間的替換模式。

官方參考資料

留下評論

如何在 LibreOffice 中停用遙測和資料收集

如何在 LibreOffice 中停用遙測和資料收集

了解如何停用 LibreOffice 崩潰報告、線上更新用戶代理程式資料和可選的自動更新檢查,以及如何驗證設定。

How to Install ONLYOFFICE Docs Enterprise with Docker Compose

How to Install ONLYOFFICE Docs Enterprise with Docker Compose

Install ONLYOFFICE Docs Enterprise with the official Docker Compose file, configure JWT and persistent storage, add your license, and verify the service.

如何在 LibreOffice 的尋找和取代功能中使用正規表示式進行進階編輯

如何在 LibreOffice 的尋找和取代功能中使用正規表示式進行進階編輯

學習如何在 LibreOffice 尋找和替換中使用正規表示式來清理文字、擷取和重新排序資料、控制範圍以及選擇更安全的替代方案。

如何使用 ONLYOFFICE 巨集自動清理電子表格

如何使用 ONLYOFFICE 巨集自動清理電子表格

建立一個安全的 ONLYOFFICE JavaScript 巨集,用於清理電子表格文字、保留公式和數字,並在儲存工作簿之前驗證每次變更。

Collabora Online 與 ONLYOFFICE:資源使用與延遲測試

Collabora Online 與 ONLYOFFICE:資源使用與延遲測試

使用官方的配置指南和可重複的測試,比較 Collabora Online 和 ONLYOFFICE Docs 的 CPU、記憶體、開啟時間、協同編輯延遲和保存次數。

如何為 Collabora Online CODE Docker 新增自訂字體

如何為 Collabora Online CODE Docker 新增自訂字體

在 Docker 中為 Collabora Online CODE 新增自訂字體,比較綁定掛載、自訂映像檔和遠端字體配置,然後驗證文件中的字體。

修正 Collabora 線上字體大小下拉選單顯示不正確的問題

修正 Collabora 線上字體大小下拉選單顯示不正確的問題

追蹤 Collabora Online 字體大小下拉選單顯示不完整、拉伸或無回應的問題。重置頁面縮放,手動輸入字體大小,並檢查程式碼版本修復程式。

修正「LibreOffice 需要 Java 執行時間環境 (JRE)」錯誤

修正「LibreOffice 需要 Java 執行時間環境 (JRE)」錯誤

要解決 LibreOffice JRE 警告,請確定是否需要 Java 功能,安裝相容的執行時間環境,並在進階選項中選擇它。

如何將 ONLYOFFICE Docs 與自訂 PHP 應用程式集成

如何將 ONLYOFFICE Docs 與自訂 PHP 應用程式集成

將 ONLYOFFICE Docs 連接到自訂 PHP 應用程序,並具有安全的文件 URL、已簽署的編輯器配置、JavaScript API 和保存回調。

如何設定 Collabora Online 的管理員控制台密碼

如何設定 Collabora Online 的管理員控制台密碼

為 Linux 軟體套件或 CODE Docker 部署設定 Collabora Online 管理控制台密碼,然後驗證登入並保護管理端點。