LibreOfficeの検索と置換で正規表現を使用して高度な編集を行う方法

LibreOfficeの検索と置換機能は、テキストをそのまま検索するのではなく、正規表現を使うことで格段に強力になります。特定のフレーズをそのまま検索する代わりに、日付、連続するスペース、段落末尾の数字、単語の区切り、あるいは並べ替えたい複数のテキストなど、パターンを指定して検索できます。

重要なのは、正規表現が通常の検索置換よりも「優れている」かどうかではなく、正規表現を使うことで編集内容の検証が難しくなることなく時間を節約できるほど、パターンが予測可能かどうかです。スペルミスが1箇所だけであれば、リテラル検索の方が通常は安全です。しかし、構造が似ている編集が数百箇所に及ぶ場合は、正規表現の方がより簡潔な選択肢となるでしょう。

このガイドでは、2026年10月時点で利用可能な最新のLibreOfficeヘルプドキュメントを使用しています。LibreOfficeヘルプでは、正規表現構文がICUベースであると説明されており、キャプチャグループ置換などの現在の検索と置換オプションが記載されています$1。ダイアログのレイアウトはオペレーティングシステムとLibreOfficeのビルドによって若干異なる場合がありますが、ワークフローは同じです。

正規表現が適切なツールとなる場合とそうでない場合

パターンを作成する前に、どの検索モードが目的に最適かを判断してください。LibreOfficeには複数の選択肢があり、それぞれリスクプロファイルが異なります。

編集が必要最適なスタートオプション主な利点主なトレードオフ
1つの完全なフレーズを置き換える通常の検索と置換シンプルで監査しやすい可変テキストは処理しません
単語には一致するが、より長い単語の一部ではない単語全体または誤検出を減らす単語境界の挙動は、句読点やUnicodeテキストに影響を与える可能性がある
可変の日付、ID、数値、または間隔を検索します正規表現1つのパターンで多くのバリエーションに対応可能広範なパターンは意図した以上のものを置き換える可能性がある
特定の外観を持つテキストのみを変更しますフォーマット / 属性 / スタイル検索文字ではなく書式設定を対象とします構造的なテキストパターンには適していません
スプレッドシートのテキストを数式で変換する計算REGEX()機能結果は数式に基づいており、検証可能である。セルを直接編集するのではなく、ワークシートのロジックを変更します。

一度限りの文書のクリーンアップであれば、「検索と置換」REGEX()機能が最も速い場合が多いです。Calcでは、元のセルを永続的に変更するのではなく、補助列で繰り返し可能な変換を行いたい場合に、この機能が適していることがあります。

ステップ1:検索と置換を開く

WriterまたはCalcで、「編集」>「検索と置換」を選択します。推奨されるキーボードショートカットはCtrl+Hです。これにより、小さなクイック検索バーではなく、完全なダイアログボックスが開きます。

LibreOffice Writerの編集メニューで、「検索」と「置換」が強調表示され、Ctrl+Hが表示されています。
編集メニューから、またはCtrl+Hを押して、検索と置換ダイアログ全体を開きます。

ステップ2:正規表現を有効にする

必要に応じて追加オプションを展開し、「正規表現」.を選択します。このオプションを有効にすると、括弧、+丸括弧、アンカーなどの文字が、通常のテキストとして扱われるのではなく、特別な意味を持つようになります。*?

実際にそれらの文字をそのまま使用する必要がある場合は、バックスラッシュでエスケープしてください。たとえば、 は\.ピリオドに一致し、 は.単一の文字に一致します。

「検索と置換」ダイアログで「正規表現」オプションを選択
正規表現パターンを入力する前に、正規表現を有効にしてください。

ステップ3:簡単に検証できるパターンから始める

最初のテストとして最適なのは、ISO形式の日付のような構造化された値です。例えば、次のようになります。

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

これは、単語の境界から始まり、4桁の小数点、ハイフン、2桁の数字、別のハイフン、2桁の数字に一致し、最後に単語の境界で終わることを意味します。 のようなテキストに一致します2026-10-06。日付が暦上可能かどうかを検証しないため、2026-99-99も一致します。これは、構造の一致と意味の検証の違いを示す便利な例です。

置換する前に「すべて検索」を使用してください。LibreOfficeではWriterとCalc内のすべてのインスタンスを選択できるため、パターンが広すぎるかどうかを視覚的に素早く確認できます。

ISO日付を含むWriter文書と、日付正規表現を使用した検索と置換ダイアログ
構造化された日付パターンをテストし、置換を行う前にハイライト表示された一致箇所を確認してください。

ステップ4:テキストを並べ替える必要がある場合は、キャプチャグループを使用する

括弧は一致した部分の一部を囲みます。LibreOfficeの置換機能では、囲まれたグループは$1、、、$2などとして参照されます。そのため、キャプチャグループは、一致したテキストを再入力することなく順序を変更するのに便利です。

例えば、2026-10-06以下のように変換します10/06/2026。

検索: (\d{4})-(\d{2})-(\d{2})
置換: $2/$3/$1

あるいは、単純な2部構成の名前のリストであれば、(\w+)\s+(\w+)置換を含むパターン$2, $1を使って、キャプチャした2つの単語を入れ替えることができます。この例は、管理されたリストには便利ですが、汎用的な「名前解析器」ではありません。スペース、イニシャル、接尾辞、ハイフン、多言語名を含む姓には、より慎重なパターンが必要です。

検索と置換ダイアログに、2つのキャプチャグループと、それらの順序を反転させる置換結果が表示されています。
キャプチャグループを使用すると、置換時に一致するテキストの順序を変更しながら、一致するテキストを保持できます。

ステップ5:大きな変更を加える前に検索範囲を定める

正規表現は、適用範囲を狭めることでより安全になります。拡張された検索と置換オプションでは、「現在の選択範囲」によって操作が選択されたテキストまたはセルのみに限定されます。Calcでは、検索対象を数式、表示値、コメントのいずれにするかを制御でき、必要に応じてシートをまたいで検索することもできます。

これは、あらゆる例外に対応できる巨大な正規表現を一つ作成しようとするよりも、多くの場合、より優れた安全対策となります。クリーンアップが必要なテーブル、セクション、または列が一つだけであれば、まずそれを選択し、よりシンプルな正規表現を使用してください。

LibreOffice Writerの編集メニューに「検索と置換」コマンドが表示されている。
「現在の選択範囲」のみを使用する場合は、編集したいセクションを選択してから「検索と置換」を開いてください。

ステップ6:検索、置換、および置換結果を比較する

3つのボタンは、それぞれ異なるレベルの信頼度をサポートします。

  • 「すべて検索」は、パターンが一致する内容を表示するため、最もリスクの低い最初の処理方法です。
  • Replace は現在のマッチを変更してから次のマッチに移動します。例外が発生する可能性が高い場合に使用してください。
  • 「すべて置換」は、入力が均一で、代表的なテキストでパターンを既にテストしている場合に効率的です。

実用的なワークフローとしては、ドキュメントを保存し、「すべて検索」を実行して、先頭、中間、末尾で一致する箇所をいくつか確認し、データが不規則な場合は個別に「置換」アクションを使用することです。 「すべて置換」は、パターンが明確に区切られている場合にのみ使用してください。

正規表現が有効で、置換およびすべて置換コントロールが表示されている検索と置換ダイアログ
「すべて検索」は確認用、「置換」は慎重に一つずつ編集する場合に使用し、「すべて置換」はパターンが検証された後にのみ使用してください。

ステップ7:境界とアンカーを使用して誤検出を減らす

小さな制約を設けることで、正規表現の安全性が大幅に向上することがよくあります。LibreOffice ドキュメントでは、単語の境界、^段落またはセルの開始、$段落またはセルの終了として扱われます。

例:

  • book「book」という単語に一致するが、より長い単語の中に「book」が含まれている場合は一致しない。
  • ^Invoice「Invoice」という文字列は、段落またはセルの先頭でのみ検索します。
  • [ ]+$段落またはセルの末尾の直前にある、1つ以上のスペースまたはタブを検出します。
  • ^$空の段落が見つかりました。

テキストの位置がわかっている場合は、通常、アンカーの方が貪欲なワイルドカードよりも好ましいです。 のようなパターンは、デフォルトで貪欲な.*ため、意図したよりもはるかに多くのものにマッチしてしまう可能性があります。*

単語境界正規表現を使用した検索と置換ダイアログと選択したすべての項目を検索します。
単語の境界とアンカーによってパターンがより明確になり、無関係なテキストを誤って検出する可能性が低くなります。

ステップ8:コミットする前にマッチを視覚的に確認する

一致する箇所をすべてハイライト表示する機能は、大文字小文字、単語の境界、文字クラスに基づくパターンに特に役立ちます。たとえば、サンプル段落でパターンが固有名詞を選択した場合、文頭の単語や変更する意図していなかったその他のテキストも選択されているかどうかをすぐに確認できます。

視覚的な確認は、単なるデバッグの便宜ではなく、編集プロセスの一部です。正規表現は形状を記述するもので、意味を記述するものではありません。技術的に正しい表現であっても、文書によっては不適切な場合があります。

正規表現に一致する大文字の単語がいくつかハイライトされているライターの段落
一括置換が適切かどうかを判断する前に、文脈の中でハイライトされた一致箇所をレビューする。

LibreOfficeの正規表現の実践パターン

タスクパターンを見つける代替候補注記
2つ以上の文字スペースを見つける[ ]{2,}1つのスペース簡単な間隔調整に便利です。タブは付属していません。
段落の終わり前の水平方向のスペースを探してください。[ ]+$空の末尾のスペースやタブに適しています。
小数点の桁数を見つける\d+タスクによる\dICUはUnicodeに対応しています。
文字通りのピリオドを見つける\.タスクによる脱出すると、.「いかなるキャラクター」としても行動できなくなります。
空の段落を探す^$まずレビューしてください段落構成が重要な場合は、慎重に使用してください。
YYYY-MM-DD形式に再フォーマット(\d{4})-(\d{2})-(\d{2})$2/$3/$1キャプチャしたテキストを並べ替えるだけで、実際の日付を検証するものではありません。

行区切りと段落区切りには特別な注意が必要です

LibreOffice Writer では、改行と段落区切りは異なる扱いをします。Writer の検索 ボックスにリストされた公式式は、Shift+Enter で挿入された改行として扱われます。Writerの置換ボックスには、段落区切りが挿入されます。同じトークンでも、Calc では特別な置換意味を持ちません。

LibreOfficeでは、正規表現によるテキスト検索は1つの段落内でのみ機能すると明記されています。これは、パターンが任意の複数行のテキストをスキャンできるプログラマー向けの正規表現ツールから移行してきたユーザーにとっては重要な点です。Writerでは、単一の式が複数の段落にまたがることを前提とするのではなく、段落の境界に基づいて検索を設計してください。

正規表現と単語全体検索、類似性検索、書式設定検索

テキスト自体が固定されている場合のみ、単語全体を選択してください。

単に「cat」という単語の単独出現箇所をすべて取得したいだけであれば、「単語全体のみ」オプションの方が、正規表現を記述するよりも説明や監査が容易ですcat。正規表現は、マッチする内容が変化する場合に、より価値を発揮します。

類似性検索を選択して、構造ではなく近似値を検索します。

類似性検索は、単語に近い語句を見つけることを目的としています。「4桁の数字、ハイフン、2桁の数字」といったパターン検索の代わりとなるものではありません。データ形式のテキストではなく、スペルなどのバリエーションを探す際に使用してください。

見た目が重要な場合は、「書式」または「スタイル」を選択してください。

「このスタイルの太字テキストをすべて変更する」という要件であれば、正規表現よりも書式設定とスタイル検索の方が直接的です。一部のワークフローではテキスト条件と書式設定を組み合わせることができますが、LibreOfficeが専用の検索オプションで既に処理している機能を正規表現に任せることは避けてください。

よくある間違いとその回避方法

  • 句読点のエスケープを忘れる:ドットはメタ文字です。\.文字通りのピリオドの代わりに使用してください。
  • パターンが広すぎる場合:境界、アンカー、またはより具体的な文字クラスを追加してください。
  • 正規表現が意味を検証すると仮定すると、 \d{4}-\d{2}-\d{2}カレンダーのルールではなく、形状を検証します。
  • 検査前に「すべて置換」を実行する:まず「すべて検索」を使用し、可能な場合は検索範囲を限定してください。
  • チェックせずに別の正規表現エンジンから構文をコピーする場合: LibreOfficeはサポートされている構文としてICU正規表現を参照しています。多くの馴染みのある構文は機能しますが、エンジンの詳細は異なる場合があります。
  • 1つのパターンが任意の段落をまたぐことを想定している場合: Writerの正規表現検索は段落スコープであり、行と段落の区切りは特別な処理が行われます。

どの方法を用いるべきか?

編集内容が予測可能な小規模な文書であれば、通常の「検索と置換」または「単語全体」のみで確認する方が簡単です。可変テキストを含む繰り返しのクリーンアップ作業には、正規表現を使用する方が通常は手間がかかっても価値があります。複雑な手書きデータの場合は、巧妙だが不安定な式よりも、選択範囲を絞り込んで1つずつ置換する方が望ましいでしょう。表示を維持し、再計算できるようにしておく必要があるCalc変換については、REGEX()ソースセルを直接変更するのではなく、関数を使用することを検討してください。

したがって、LibreOfficeで最も信頼性の高い正規表現ワークフローは、「可能な限り短い式を書く」ことではありません。それは、範囲を限定し、自分が知っていることだけを表現するパターンを使用し、一致箇所を検査し、時間を節約しつつ最も破壊的でない置換モードを選択することです。

公式資料

コメントを残す

Microsoft Wordで画像を移動する方法

Microsoft Wordで画像を移動する方法

Wordで画像をドラッグする方法、テキストの折り返しを選択する方法、段落内に画像を保持する方法、ページ上に画像を固定する方法、そして画像が移動しない場合のトラブルシューティング方法を学びましょう。

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelのセル内ツールを使ってチェックボックスを挿入する方法、数式を使ってチェックされた項目の数を数える方法、古いデスクトップ版でリンクされたフォームコントロールを追加する方法を学びましょう。

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelでフィルハンドル関数、SEQUENCE関数、または再利用可能なカスタムリストを使用して、AからZまでのアルファベット、小文字、またはZを超えるラベルを生成します。

Excelで取り消し線を引く方法:ショートカットと手順

Excelで取り消し線を引く方法:ショートカットと手順

Windows、Mac、Web版Excelで取り消し線を引く方法、セルの一部に書式を設定する方法、値を削除せずに行を削除する方法を学びましょう。

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessは、関連レコードの保存、クエリの作成、データ入力フォームの作成、レポートの生成を行うためのWindowsデータベースアプリケーションです。その仕組みと最適な活用シーンについて解説します。

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を調整する方法、表示される線の頻度を変更する方法、および下地となる水平方向と垂直方向の描画グリッドの間隔を設定する方法を学びましょう。

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Outlook 2010にPSTファイルをインポートする方法、またはメール、連絡先、カレンダー、タスクをエクスポートする方法を学びましょう。正しいメニューに従い、フォルダの欠落や重複を避けてください。

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Kernelが提供する最新の手順では、忘れてしまったOutlook PSTファイルのパスワードを復元する方法を解説します。正しいファイルの特定方法、バックアップの作成方法、ツールの制限事項の確認方法などが含まれています。

PowerPointスライドにライブWebページを挿入する方法

PowerPointスライドにライブWebページを挿入する方法

LiveWebアドインを使用すると、WebサイトをPowerPointスライドに配置し、サイズや更新動作を設定し、プレゼンテーション前に互換性を確認できます。

Access 2010データベースをフォームで開く方法

Access 2010データベースをフォームで開く方法

Access 2010データベースアプリケーションを、データ入力フォームに直接開くように設定し、オブジェクトリストを非表示にし、メニューを制限し、共有前に設定を確認します。