在 LibreOffice Writer 中使用正規表示式批次編輯文本

若要在 LibreOffice Writer 中進行進階編輯,請開啟「編輯」>「尋找與取代」,展開「更多選項」,然後啟用「正規表示式」。在「尋找」中輸入模式,如果要變更符合的文本,請在「取代」中輸入取代內容。使用「尋找全部」或「尋找下一個」來檢查符合項,然後再選擇「全部取代」。

LibreOffice 26.8 的說明文件中描述了這種工作流程。正規表示式可以一次清除重複空格、尋找日期等結構化文字或重新排列名稱的各個部分。以下模式適用於 Writer 的「尋找和取代」對話方塊;請勿假設其他程式使用相同的語法。

安全開啟尋找和取代功能

在進行大量編輯之前,請先儲存重要文件的副本。這樣,如果匹配的模式超出預期,您就可以有一個乾淨的備用方案。在 Writer 中,選擇「編輯」>「尋找和取代」,或在 Windows 和 Linux 系統上按快捷鍵Ctrl+H,或Command+H在 macOS 系統上按快捷鍵。

  1. 點選「更多選項」展開對話框。
  2. 選擇“正規表示式”。保持其對“查找模式”和任何基於正規表示式的替換都啟用。
  3. 輸入一個小的測試圖案,然後按一下「尋找下一個」來檢查一個符合項,或按一下「尋找全部」來選擇所有符合項。

LibreOffice 將句點 ( .) 視為單一字符,將星號 ( *) 視為零次或多次重複前一個表達式。因此,` \n`.*表示段落內零個或多個字元。普通的星號與常見的文件搜尋通配符(表示「任意文字」)不同。 Writer 的正規表示式搜尋和通配符搜尋的文件是分開的。

在 Writer 中開啟「編輯」選單,在包含 Smith, Ana 和 Lee, Jordan 的頁面上方突出顯示了「尋找取代」。
開啟“編輯”,選擇“尋找和取代”,即可在目前 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:]]

Writer 中展開的「尋找和取代」對話方塊顯示「正規表示式」選項已選取。
在輸入正規表示式模式之前,展開更多選項並啟用正規表示式。

實用的 Writer 正規表示式模式

任務尋找代替
折疊重複空間[ ]{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。
捕獲組允許替換操作以新順序重複使用每個匹配名稱的兩個部分。

替換前請先檢查匹配項

當遇到新的匹配模式時,使用「尋找下一個」功能可以逐步查看幾個匹配項。使用「尋找全部」功能可以在取代之前查看所有選取的符合項目。如果高亮顯示了部分單字、意外地遇到了標點符號或跳過了帶有重音符號的字母,請縮小或修改匹配模式,而不是接受結果。

選取範圍正確後,按一下「取代」按鈕逐一變更符合項,或按一下「全部取代」按鈕以取代整個文件。立即檢查結果。如果出錯,請在進行其他編輯之前使用Ctrl+Z(或系統上的「撤銷」命令)撤銷操作,然後調整圖案。

一個重要的限制:Writer 的正規表示式搜尋只能在段落內進行。句點不能跨越段落分隔符號。在「尋找」方塊中,\n它會符合使用 Shift+Enter 手動插入的換行符號;在 Writer 的「取代」方塊中,\n它會插入一個段落分隔符號。請謹慎對待此替換操作,因為它可能會將文字拆分成新的段落。

作家頁面顯示替換後的名字已重新排序,分別為 Ana Smith 和 Jordan Lee。
套用替換後,請結合上下文檢查更改後的文字。

驗證編輯

  • 檢查編輯後的段落,查看是否有缺少的標點符號、重複的空格或跨邊界連接的文字。
  • 再次運行原始的查找模式。如果任務是刪除某個模式,則不應殘留任何非預期匹配項。
  • 對於諸如名稱或日期重新排序之類的轉換,在儲存之前,請將幾個變更後的範例與來源副本進行比較。

有關完整的語法和特殊情況,請參閱 LibreOffice Writer 的正規表示式搜尋指南、正規表示式參考以及「尋找和取代」對話方塊說明。

留下評論

在 LibreOffice Writer 中使用正規表示式批次編輯文本

在 LibreOffice Writer 中使用正規表示式批次編輯文本

使用 Writer 正規表示式模式清理間距、尋找結構化文字並重新排列名稱,您可以在替換之前預覽這些模式。

在 Writer 中將阿拉伯語和希伯來語段落設定為從右到左。

在 Writer 中將阿拉伯語和希伯來語段落設定為從右到左。

啟用 Writer 的雙向控制,設定 RTL 段落流,並檢查混合阿拉伯語或希伯來語文字而不干擾英語單字和數字。

無需猜測即可在 LibreOffice 中恢復 Calibri 和 Arial 字體

無需猜測即可在 LibreOffice 中恢復 Calibri 和 Arial 字體

安裝與公制相容的 Linux 字體或映射 LibreOffice 回退字體,同時注意 Microsoft 字體授權和佈局差異。

在 LibreOffice Writer 中從表單建立可填寫 PDF

在 LibreOffice Writer 中從表單建立可填寫 PDF

在 Writer 中新增可用的文字欄位、複選框和下拉列表,然後匯出 PDF,供收件者填寫和儲存。

使用 LibreOffice 製作 PDF 檔案時,請保留您使用的字體

使用 LibreOffice 製作 PDF 檔案時,請保留您使用的字體

修復 LibreOffice Writer PDF 中缺少或替換的字體,選擇正確的匯出配置文件,並在共享之前驗證嵌入的字體。

使用 LibreOffice CLI 批次將 DOCX 檔案轉換為 PDF

使用 LibreOffice CLI 批次將 DOCX 檔案轉換為 PDF

使用 LibreOffice 命令將 Word 文件資料夾轉換為 PDF,安全地處理巢狀資料夾,並在共用之前驗證輸出。

讓每個新作者文件都使用您的模板

讓每個新作者文件都使用您的模板

將自訂的 LibreOffice Writer 模板設定為預設模板,以便新文件以您喜歡的樣式和頁面佈局開啟。

讓 LibreOffice 識別您的 Java 運行時

讓 LibreOffice 識別您的 Java 運行時

安裝相容的 Java 執行環境,在 LibreOffice 中啟用它,並在不更改無關設定的情況下排查 JRE 清單為空的問題。

在 Docker 中以無頭模式運行 LibreOffice 進行 PDF 轉換

在 Docker 中以無頭模式運行 LibreOffice 進行 PDF 轉換

建立一個小型 LibreOffice 容器,在沒有 GUI 的情況下轉換辦公室文檔,並在限制主機文件存取的情況下驗證 PDF 輸出。

縮小 LibreOffice Impress 檔案大小而不模糊影像

縮小 LibreOffice Impress 檔案大小而不模糊影像

透過壓縮嵌入的圖片、選擇合理的圖像設定以及在共享前檢查幻燈片品質來減少 LibreOffice 簡報檔案的大小。