LibreOffice Writerで正規表現を使用してテキストを一括編集する

LibreOffice Writer で高度な編集を行うには、[編集] > [検索と置換]を開き、[その他のオプション]を展開して、[正規表現]を有効にします。[検索] にパターンを入力し、一致したテキストを変更する場合は、[置換] に置換文字列を入力します。[すべて検索]または[次を検索]を使用して一致箇所を確認してから、[すべて置換] を選択してください。

LibreOffice 26.8 のヘルプには、このワークフローについて説明されています。正規表現を使用すると、繰り返し出現するスペースを削除したり、日付などの構造化されたテキストを検索したり、名前の一部を並べ替えたりといった処理を一度に行うことができます。以下のパターンは Writer の検索と置換ダイアログ用です。他のプログラムでも同じ構文が使用されるとは限りませんのでご注意ください。

検索と置換を安全に開く

重要な文書を大規模に編集する前に、コピーを保存してください。これにより、パターンが予想以上に一致する場合でも、クリーンなフォールバックが可能になります。Writer では、Windows および Linux では[編集] > [検索と置換]を選択するか、 macOS では [キー] を押します。Ctrl+HCommand+H

  1. 「その他のオプション」をクリックすると、ダイアログが展開されます。
  2. 「正規表現」を選択します。検索パターンと正規表現に基づく置換の両方で有効にしておいてください。
  3. 小さなテストパターンを入力し、「次を検索」をクリックして一致するパターンを1つ確認するか、 「すべて検索」をクリックして一致するパターンをすべて選択します。

LibreOffice では、ピリオド ( .) は任意の 1 文字として、アスタリスク ( *) は前の式が 0 回以上繰り返されたものとして扱われます。したがって、 は.*段落内の 0 文字以上を意味します。通常のアスタリスクは、一般的なファイル検索のワイルドカード「任意のテキスト」とは異なります。Writer の正規表現検索は、ワイルドカード検索とは別にドキュメント化されています。

Writer の編集メニューが開いており、Smith, Ana と Lee, Jordan を含むページの上に検索と置換がハイライト表示されています。
「編集」を開き、「検索と置換」を選択して、現在の Writer 文書でパターンベースの編集を開始します。

意図したものだけと一致するパターンを作成する

対象を説明する最小の具体的なパターンから始めます。段落全体が一致する必要がある場合はアンカーを使用します。^は段落の開始、 は段落$の終了を表します。たとえば、 は^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}$YYYY-MM-DD 形式の日付のみを含む段落を検索します。日付が実際のカレンダーの日付であるかどうかではなく、形式をチェックします。

一般的な構成要素\dには、10 桁を表すもの、\w単語文字を表すもの、+1 つ以上の繰り返しを表すもの、および のような角括弧の範囲などがあります。LibreOffice では、や[A-Z]などの文字クラスも文書化されています。テキストに基本的な英語の A~Z 以外の文字が含まれる可能性がある場合は、文字クラス を使用することをお勧めします。[[:alpha:]][[:digit:]]

重複するスペースを削除するには、検索し[ ]{2,}て通常のスペース1つに置き換えます。このパターンは、2つ以上のリテラルスペースを対象とし、タブは対象としません。まず「すべて検索」をクリックして、ハイライト表示された領域が修正対象のスペースエラーであることを確認してください。

キャプチャグループを使用してテキストを並べ替える

括弧は一致した部分の一部を囲むため、置換時にそれらを再利用できます。「Smith, Ana」などの名前を含む文書の場合は、次の検索パターンを使用します。

([A-Za-z]+), ([A-Za-z]+)

置換欄に以下を入力してください。

$2 $1

最初のグループは姓、2番目のグループは名なので、「Smith, Ana」は「Ana Smith」になります。LibreOfficeでは、検索式でキャプチャグループを、 、 などと記述し、置換式で、、 などと参照します。この例の範囲は基本的な英字のみを対象としています。アクセント付き文字を含む名前の場合は、両方のグループでドキュメントに記載されているクラスを使用して結果を確認してください。$1$2[A-Za-z][[:alpha:]]

Writer の拡張された検索と置換ダイアログでは、「正規表現」オプションがチェックされていることがわかります。
正規表現パターンを入力する前に、「その他のオプション」を展開して「正規表現」を有効にしてください。

便利なライター正規表現パターン

タスク検索置換
重複するスペースを折りたたむ[ ]{2,}スペース1つ
「姓、名」の順序を並べ替える([[: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 が選択されています。
キャプチャグループを使用すると、置換処理で一致した各名前の2つの部分を新しい順序で再利用できます。

交換する前にマッチを確認する

新しいパターンの場合は、 「次を検索」を使用して一致する候補をいくつか順に確認してください。 「すべて検索」を使用すると、置換前に選択したすべての候補を確認できます。単語の一部が強調表示されたり、予期しない句読点が検出されたり、アクセント付き文字がスキップされた場合は、結果をそのまま受け入れるのではなく、パターンを絞り込むか修正してください。

選択範囲が正しい場合は、「置換」をクリックして一致箇所を1つずつ変更するか、「すべて置換」をクリックして文書全体を変更します。結果をすぐに確認してください。結果が間違っている場合は、他の編集を行う前にCtrl+Z(またはシステムによっては「元に戻す」コマンド)を使用して、パターンを調整してください。

重要な制限事項が1つあります。Writerの正規表現検索は段落内でのみ機能します。ドットは段落区切りをまたぎません。検索ボックスでは、\nShift+Enterで挿入された手動改行に一致します。Writerの置換ボックスでは、\n段落区切りが挿入されます。テキストが新しい段落に分割される可能性があるため、この置換は慎重に行ってください。

ライターのページには、名前の入れ替え後にアナ・スミスとジョーダン・リーの名前が並べ替えられて表示されている。
置換を適用した後、変更されたテキストを文脈の中で確認してください。

編集内容を確認してください

  • 編集した段落をスキャンして、句読点の欠落、二重スペース、または境界線をまたいで繋がっているテキストがないか確認してください。
  • 元の検索パターンを再度実行してください。パターンを削除するのが目的であれば、意図しない一致は残らないはずです。
  • 名前や日付の並べ替えなどの変換を行う場合は、保存する前に、変更後の複数の例を元のコピーと比較してください。

構文の詳細や特殊なケースについては、LibreOffice Writer の正規表現検索ガイド、正規表現リファレンス、および検索と置換ダイアログのヘルプを参照してください。

コメントを残す

LibreOffice でオプションの診断とデータ更新を制限する

LibreOffice でオプションの診断とデータ更新を制限する

LibreOfficeのオプションの更新統計情報とクラッシュレポートのプロンプトをオフにしてから、設定内容と検証方法を確認してください。

LibreOffice Writerで正規表現を使用してテキストを一括編集する

LibreOffice Writerで正規表現を使用してテキストを一括編集する

Writerの正規表現パターンを使えば、置換前にプレビューを確認しながら、スペースの整理、構造化されたテキストの検索、名前の並べ替えを行うことができます。

Writerでアラビア語とヘブライ語の段落を右から左に設定する

Writerでアラビア語とヘブライ語の段落を右から左に設定する

Writerの双方向制御を有効にし、右から左への段落の流れを設定し、英語の単語や数字を損なうことなく、アラビア語やヘブライ語が混在するテキストをチェックします。

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リストが空になる問題をトラブルシューティングします。

PDF変換のためにLibreOfficeをDocker上でヘッドレスモードで実行する

PDF変換のためにLibreOfficeをDocker上でヘッドレスモードで実行する

小型のLibreOfficeコンテナを構築し、GUIを使用せずにオフィス文書を変換し、ホストファイルへのアクセスを制限しながらPDF出力を検証します。