正規表現を使用してテキストを検索して置換する
テキストの特定のパターンを検索して置換する場合は、正規表現を使用します(英語)。これらは、パターンマッチング、解析、結果のフィルタリングなどに役立ちます。正規表現の構文を学習すると、ほとんどすべての言語で使用できるようになります。
IDE は Java 正規表現を使用します。これは、IDE が実行される JDK に含まれる正規表現です。パターンの詳細については、クラスパターン(docs.oracle.com)を参照してください。これらの式は、完全ではありませんが、ほとんどの場合、PCRE (Perl 互換正規表現) と互換性があります。
Ctrl+R を押して、検索と置換のペインを開きます。
上部のフィールドに検索文字列を、下部のフィールドに置換文字列を入力します。
をクリックして、正規表現を有効にします。正規表現の構文を確認する場合は、
にカーソルを合わせて、式のヘルプを表示リンクをクリックします。
特殊な正規表現記号を含むテキスト文字列を検索すると、JetBrains Rider は検索フィールドにバックラッシュ
\
を使用して自動的にエスケープします。ただし、
.[{()\^$|?*+
などのメタキャラクターを具体的に検索する場合は、バックスラッシュ\
でエスケープする必要があるため、認識できます。例:
.
が必要な場合は、検索フィールドに\.
と入力します。検索フィールドに文字の範囲を入力すると、JetBrains Rider は大文字と小文字を一致させることができます。
例: 大文字のみを検索する場合は、検索フィールドに次のように入力します。
\b[A-Z]検索フィールドで
が選択されていない場合、JetBrains Rider は大文字と小文字の両方を検索します。
指定された範囲の大文字と小文字を一致させるには、
を選択します。
出現箇所をブラウズすると、JetBrains Rider は置換のヒントを表示するため、置換ボタンをクリックする前に潜在的な結果を見ることができます。
正規表現キャプチャーグループと後方参照を使用する
括弧内に正規表現を配置して、グループ化できます。各グループには 1 から始まる番号があるため、置換パターンで参照(後方参照)できます。グループ 0 は正規表現全体を指すことに注意してください。ただし、キャプチャーされたグループは、番号 $n
だけでなく、名前 ${name}
でも参照できます。
キャプチャーされたグループを検索して置換する
次のコードを考えてみましょう:
検索を開き、ペイン Ctrl+R を置き換えます。
検索フィールドに、キャプチャーグループ(英語)を示す括弧
()
を入力します(例:\stitle="(.*)?"\s*(/>*)
)。置換フィールドで、そのようなグループを 1 で始まる番号で逆参照します(英語)。例:
$2<title>$1</title>JetBrains Rider は検索仕様に基づいて見つかった出現箇所をハイライトし、ヒントに置換文字列を表示します。
大文字と小文字を切り替える
正規表現を使用して、いくつかの条件に一致する文字の大 / 小文字を変更することができます。
検索と置換ペイン Ctrl+R を開きます。検索フィールドで
が選択されていることを確認します。
検索フィールドに検索パターンを入力します。
置き換えフィールドで、達成したいものに応じて、次のいずれかの構文を入力します。
\l
は、文字列内の次の文字まで文字を小文字に変更します。例:
Bar
はbar
になります。\u
は、文字列内の次の文字まで文字を大文字に変更します。例:
bar
はBar
になります。\L
は、リテラル文字列\E
の終わりまで文字を小文字に変更します。例:
BAR
はbar
になります。\U
は、リテラル文字列\E
の終わりまで文字を大文字に変更します。例:
bar
はBAR
になります。
詳細については、RegEx 構文参照表を参照してください。
文字列の検索と置換
要素 title
内の属性を拡張タグ <title></title>
に置き換えたいとします。このタグには、二重引用符で囲まれた任意の文字列が含まれます。
その方法は次のとおりです .
XML ファイルをエディターで開き、Ctrl+R を押します。置換ペインがエディターの上に表示されます。
title
のすべての属性を置き換えるには、そこに含まれる実際の文字列に関係なく、正規表現を使用します。チェックボックス正規表現が選択されていることを確認します。検索および置換フィールドに入力したものは、すべて正規表現として認識されます。検索フィールドで、すべての
title
属性を記述する正規表現を入力し始めます。\stitle="(.*)?"\s*(/>*)正規表現
\stitle=".*?"\s*[/>]*
はtitle
属性の内容と一致しますが、置換フィールドで参照するためのグループを取得することをお勧めします。次に、置換フィールドに次の正規表現を入力します。
$2<title>$1</title>ここで、
$1
は最初のキャプチャーグループ(英語)を指し、$2
は 2 番目のキャプチャーグループを指します。置換またはすべて置換をクリックします。
関連ページ:
![](https://pleiades.io/icons/rider.png)
正規表現構文リファレンス
このセクションは、検索と置換の作成、およびナビゲーションパターンの発行に使用できる正規表現構文の概要です。JetBrains Rider には、コード内での構文のハイライトや IntelliSense など、正規表現を支援するためのさまざまな機能があります。RegEx 構文リファレンス:次の文字を特殊文字またはリテラルとしてマークします。例:n は文字 n と一致します。「\n」は改行文字と一致します。シーケンスはと一致し、はと一致します。入力の始めに一致します。入力の終わりに一致します。直前の文...
![](https://resources.jetbrains.com/help/img/rider/2024.1/rdr_findinPath.png)
ソリューション内のテキストを検索して置換する
ソリューション全体、プロジェクト、ネストされた階層を持つ任意のディレクトリ、任意のスコープ内のテキストを検索して置き換えることができます。プレビュータブまたは検索ウィンドウで検索結果を確認します。ソリューション内のテキストを検索ソリューションの特定の部分のみを検索する場合は、ソリューションエクスプローラーで対応するノードを選択します。を押すか、を選択します。複数ファイル内検索ダイアログで、検索文字列を入力します。必要に応じて、検索オプションを指定します。をクリックするかを押して、最近の検索エン