PyCharm 2018.3ヘルプ

正規表現を使用して文字列を検索および置換する

特定のパターンのテキストを検索して置き換える場合は、正規表現を(英語)使用します 。パターンマッチング、解析、結果のフィルタリングなどを手助けすることができます。正規表現の構文を学ぶと、ほぼすべての言語で使用できます。

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

  2. 正規表現の構文を有効にするには、正規表現チェックボックスを選択します。正規表現の構文リファレンスを確認する必要がある場合は、正規表現の横にある疑問符をクリックします。

  3. トップフィールドに検索文字列を、ボトムフィールドに置換文字列を入力します。

    Regex search and replace fields
  4. .[{()\^$|?*+などのメタキャラクタを検索するときは、それらを認識できるようにバックスラッシュ(\)でエスケープする必要があります。

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

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

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

    \b[A-Z]
  6. 大/小文字の一致チェックボックスをオフにすると、PyCharmは大文字と小文字の両方を検索します。指定した範囲の大文字と小文字を一致させるには、大/小文字の一致チェックボックスを選択します。

    The result of the Match Case selection

  7. 出現箇所を参照すると、PyCharmは置換ヒントを表示しますので、置換ボタンを押す前に潜在的な結果を表示できます。

    Replacement hints

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

正規表現を角括弧の中に入れてそれらをグループ化することができます。各グループには1から始まる番号が付いていますので、置換パターンでそれらを参照(参照)することができます。グループ0は正規表現全体を参照することに注意してください。

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

<form action="" class="form-inline" method="post"> <input type="text" class="form-control" name="username" value="Username"> <input type="password" class="form-control" name="password" value="Password"> <input class="btn btn-default" type="submit" value="Login"> </form>
  1. 検索と置換枠(Ctrl+R)を開きます。

  2. In the search field, enter parentheses () that would indicate a capturing group(英語), for example: \svalue="(.*)?"\s*(>*)

  3. In the replace field, backreference(英語) such groups by numbers starting with 1, for example: placeholder="$1"

  4. PyCharmは検索仕様に基づいて見つかった出現箇所を強調表示し、ヒントに置換文字列を表示します。

    Replace with regex result

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

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

  1. 検索と置換枠(Ctrl+R)を開きます。正規表現 チェックボックスが選択されていることを確認します。

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

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

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

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

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

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

    Switch to the uppercase character example

詳細については、RegEx構文参照表を参照することもできます。

最終更新日: 2018年12月10日

関連事項