在 LibreOffice Writer 中使用正規表示式批次編輯文本
使用 Writer 正規表示式模式清理間距、尋找結構化文字並重新排列名稱,您可以在替換之前預覽這些模式。
若要在 LibreOffice Writer 中進行進階編輯,請開啟「編輯」>「尋找與取代」,展開「更多選項」,然後啟用「正規表示式」。在「尋找」中輸入模式,如果要變更符合的文本,請在「取代」中輸入取代內容。使用「尋找全部」或「尋找下一個」來檢查符合項,然後再選擇「全部取代」。
LibreOffice 26.8 的說明文件中描述了這種工作流程。正規表示式可以一次清除重複空格、尋找日期等結構化文字或重新排列名稱的各個部分。以下模式適用於 Writer 的「尋找和取代」對話方塊;請勿假設其他程式使用相同的語法。
在進行大量編輯之前,請先儲存重要文件的副本。這樣,如果匹配的模式超出預期,您就可以有一個乾淨的備用方案。在 Writer 中,選擇「編輯」>「尋找和取代」,或在 Windows 和 Linux 系統上按快捷鍵Ctrl+H,或Command+H在 macOS 系統上按快捷鍵。
LibreOffice 將句點 ( .) 視為單一字符,將星號 ( *) 視為零次或多次重複前一個表達式。因此,` \n`.*表示段落內零個或多個字元。普通的星號與常見的文件搜尋通配符(表示「任意文字」)不同。 Writer 的正規表示式搜尋和通配符搜尋的文件是分開的。

首先找出能夠描述目標的最小具體模式。當需要配對整個段落時,請使用錨點:`\ ^n` 表示段落的開頭,`\n`$表示段落的結尾。例如,^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}$尋找僅包含 YYYY-MM-DD 格式日期的段落。它檢查的是日期格式,而不是日期是否為實際的日曆日期。
常用的字符構建塊包括\d十進制數字、\w單字字符、+一個或多個重複字符,以及方括號範圍(例如 \\ [A-Z])。 LibreOffice 也提供了諸如 \\[[:alpha:]]和 \\ 之類的字元類文件[[:digit:]]。當文字可能包含基本英文 A-Z 以外的字母時,建議使用 \\ 字元類別。
若要清除重複空格,請尋找[ ]{2,}並將其替換為一個普通空格。此方法針對兩個或多個實際空格,但不會針對製表符。請先按一下「尋找全部」以確認已反白的區域是您要修復的空格錯誤。
括號用於捕獲匹配項的部分內容,以便在替換時可以重複使用。對於包含諸如“Smith, Ana”之類的名稱的文檔,請使用以下查找模式:
([A-Za-z]+), ([A-Za-z]+)
在「替換」方塊中輸入以下內容:
$2 $1
第一組是姓氏,第二組是名字,所以「Smith, Ana」會變成「Ana Smith」。在 LibreOffice 中,捕獲組在尋找表達式中寫成 ` <Smith> `、`<Smith>` 等,然後在取代表達式中引用為 `<Smith>` 、 `<Smith> ` 等。本例中的範圍僅包含基本的英文字母;對於包含重音字母的姓名,請在兩組中都使用文件中指定的類,並檢查結果。$1$2[A-Za-z][[:alpha:]]

| 任務 | 尋找 | 代替 |
|---|---|---|
| 折疊重複空間 | [ ]{2,} | 一個空間 |
| 重新排序“姓氏,名字” | ([[:alpha:]]+), ([[:alpha:]]+) | $2 $1 |
| 重新格式化 YYYY-MM-DD 文本 | ([[:digit:]]{4})-([[:digit:]]{2})-([[:digit:]]{2}) | $2/$3/$1 |
| 找到一個空白段落 | ^$ | 更換前請檢查 |
日期格式會將視覺順序變更為 MM/DD/YYYY;僅當此格式適合您的讀者時才使用。它不會驗證日期或識別區域設定。對於空段落,請先使用「尋找下一個」。刪除段落標記可能會改變間距和文件結構,因此請勿在未檢查結果的情況下進行大範圍替換。
![「尋找與取代」對話方塊顯示模式 ([A-Za-z]+), ([A-Za-z]+) 和取代 $2 $1,文件中已選擇 Smith, Ana。](https://www.webtech360.com/resources_cts/images2/use-regex-in-libreoffice-writer-to-edit-text-in_213309981.webp)
當遇到新的匹配模式時,使用「尋找下一個」功能可以逐步查看幾個匹配項。使用「尋找全部」功能可以在取代之前查看所有選取的符合項目。如果高亮顯示了部分單字、意外地遇到了標點符號或跳過了帶有重音符號的字母,請縮小或修改匹配模式,而不是接受結果。
選取範圍正確後,按一下「取代」按鈕逐一變更符合項,或按一下「全部取代」按鈕以取代整個文件。立即檢查結果。如果出錯,請在進行其他編輯之前使用Ctrl+Z(或系統上的「撤銷」命令)撤銷操作,然後調整圖案。
一個重要的限制:Writer 的正規表示式搜尋只能在段落內進行。句點不能跨越段落分隔符號。在「尋找」方塊中,\n它會符合使用 Shift+Enter 手動插入的換行符號;在 Writer 的「取代」方塊中,\n它會插入一個段落分隔符號。請謹慎對待此替換操作,因為它可能會將文字拆分成新的段落。

有關完整的語法和特殊情況,請參閱 LibreOffice Writer 的正規表示式搜尋指南、正規表示式參考以及「尋找和取代」對話方塊說明。
使用 Writer 正規表示式模式清理間距、尋找結構化文字並重新排列名稱,您可以在替換之前預覽這些模式。
啟用 Writer 的雙向控制,設定 RTL 段落流,並檢查混合阿拉伯語或希伯來語文字而不干擾英語單字和數字。
安裝與公制相容的 Linux 字體或映射 LibreOffice 回退字體,同時注意 Microsoft 字體授權和佈局差異。
在 Writer 中新增可用的文字欄位、複選框和下拉列表,然後匯出 PDF,供收件者填寫和儲存。
修復 LibreOffice Writer PDF 中缺少或替換的字體,選擇正確的匯出配置文件,並在共享之前驗證嵌入的字體。
使用 LibreOffice 命令將 Word 文件資料夾轉換為 PDF,安全地處理巢狀資料夾,並在共用之前驗證輸出。
將自訂的 LibreOffice Writer 模板設定為預設模板,以便新文件以您喜歡的樣式和頁面佈局開啟。
安裝相容的 Java 執行環境,在 LibreOffice 中啟用它,並在不更改無關設定的情況下排查 JRE 清單為空的問題。
建立一個小型 LibreOffice 容器,在沒有 GUI 的情況下轉換辦公室文檔,並在限制主機文件存取的情況下驗證 PDF 輸出。
透過壓縮嵌入的圖片、選擇合理的圖像設定以及在共享前檢查幻燈片品質來減少 LibreOffice 簡報檔案的大小。