GoLand 2020.2ヘルプ

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

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

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

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

    Regex search and replace fields

    正規表現を有効にするには、the Regex icon をクリックします。正規表現の概要を確認する場合は、the Regex icon にカーソルを合わせ、式のヘルプを表示リンクをクリックします。

  3. 特殊な正規表現記号を含むテキスト文字列を検索すると、GoLandは検索フィールドにバックラッシュ \ を使用して自動的にエスケープします。

    Escape regex symbols

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

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

  4. 検索フィールドに文字の範囲を入力すると、GoLandは大文字と小文字を一致させることができます。

    例:大文字のみを検索する場合は、検索フィールドに次のように入力します。

    \b[A-Z]

    より複雑なパターンを検索して置換するには、構造検索と置換を使用します。

  5. 検索フィールドで the Match Case icon が選択されていない場合、GoLandは大文字と小文字の両方を検索します。

    指定した範囲の大文字と小文字を一致させるには、検索フィールドで the Match Case button を選択します。

    The result of the Match Case selection

  6. 出現箇所をブラウズすると、GoLandは置換のヒントを表示するため、置換ボタンをクリックする前に潜在的な結果を見ることができます。

    Replacement hints

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

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

キャプチャーされたグループを見つけて置換する

次のコードを考えてみましょう:

<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. GoLandは検索仕様に基づいて見つかった出現箇所を強調表示し、ヒントに置換文字列を表示します。

    Replace with regex result

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

正規表現を使用して、いくつかの条件に一致する文字の大/小文字を変更することができます。

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

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

  3. 置き換えフィールドで、達成したいものに応じて、次のいずれかの構文を入力します。

    • \l は、文字列の次の文字まで、文字を小文字に変更します。
      例: Barbarになります。

    • \u は、文字列の次の文字まで、文字を大文字に変更します。
      例: barBarになります。

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

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

    Switch to the uppercase character example
<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" /> ...
最終更新日: 2020年8月19日