CLion 2026.2 Help

正規表現を使用してテキストを検索して置換する

特定のテキストパターンを検索・置換したい場合は、 正規表現(英語)を使用します。 パターンマッチング、解析、結果のフィルタリングなどに役立ちます。 正規表現の構文を習得すれば、ほぼすべての言語で使用できます。

IDE では、Java 正規表現を使用しています。これは、IDE の実行環境となる JDK に含まれる正規表現です。 パターンの詳細については、 docs.oracle.com の Class Patternを参照してください。 これらの正規表現は、ほとんどが PCRE(Perl 互換正規表現)に対応していますが、完全ではありません。

  1. Ctrl+R を押して、検索と置換のペインを開きます。

  2. 上部のフィールドに検索文字列を、下部のフィールドに置換文字列を入力します。

    正規表現アイコン をクリックして、正規表現を有効にします。 正規表現の構文を確認する場合は、 正規表現アイコン にカーソルを合わせて、 式のヘルプを表示する。 リンクをクリックします。

    正規表現の検索と置換フィールド
  3. 特殊な正規表現シンボルを含むテキスト文字列を検索すると、CLion は検索フィールドで自動的にバックスラッシュ \ でエスケープします。

    ただし、 .[{()\^$|?*+ などのメタキャラクターを具体的に検索する場合は、バックスラッシュ \ でエスケープする必要があるため、認識できます。

    例: . が必要な場合は、検索フィールドに \. と入力します。

  4. 検索フィールドで Match Case アイコン が選択されていない場合、CLion は大文字と小文字の両方を検索します。

    指定された範囲の大文字と小文字を一致させるには、 Match Case アイコン を選択します。

    マッチケース選択の結果
  5. 出現箇所を閲覧すると、CLion は置換ヒントを表示し、 置換 ボタンをクリックする前に結果を確認できます。

    置換ヒント

正規表現キャプチャーグループと後方参照を使用する

括弧内に正規表現を配置して、グループ化できます。 各グループには 1 から始まる番号があるため、置換パターンで参照(後方参照)できます。 グループ 0 は正規表現全体を指すことに注意してください。 ただし、キャプチャーされたグループは、番号 $n だけでなく、名前 ${name} でも参照できます。

例えば、番号付きキャプチャグループには次の構文を使用します:

<h2>(.*?)</h2>
$1

名前付きキャプチャグループには次の構文を使用します:

<h2>(?<title>.*?)</h2>
${title}

キャプチャーされたグループを検索して置換する

次の XML を考えてみましょう。

<new product="ij" category="105" title="Multiline search and replace in the current file"/> <new product="ij" category="105" title="Improved search and replace in the current file"/> <new product="ij" category="105" title="Regexp shows replacement preview"/>
  1. 検索と置換ペイン Ctrl+R を開きます。

  2. 検索フィールドに、 () で表される キャプチャグループ の丸括弧を入力します。例えば: \stitle="(.*)?"\s*(/>*)

  3. 置き換えフィールドで、このようなグループには 1 から始まる番号で バックリファレンスします:

    $2<title>$1</title>

    .

  4. CLion は検索条件に基づいて見つかった出現箇所をハイライトし、ヒントに置換文字列を表示します。

大文字と小文字を切り替える

正規表現を使って、特定の条件に合致する文字の大文字・小文字を変更できます。

  1. 検索と置換ペイン Ctrl+R を開きます。 検索フィールドで 正規表現アイコン が選択されていることを確認します。

  2. 検索フィールドに検索パターンを入力します。

  3. 置き換えフィールドで、目的に応じて次のいずれかの構文を入力します:

    • \l は、文字列内の次の文字まで文字を小文字に変更します。

      例: Barbar になります。

    • \u は、文字列内の次の文字まで文字を大文字に変更します。

      例: barBar になります。

    • \L は、リテラル文字列 \E の終わりまで文字を小文字に変更します。

      例: BARbar になります。

    • \U は、リテラル文字列 \E の終わりまで文字を大文字に変更します。

      例: barBAR になります。

    大文字の例に切り替える

詳細については、 RegEx 構文参照表を参照してください。

2026 年 7 月 15 日