PyCharm 2018.2ヘルプ

チュートリアル: 正規表現を使用したファイル内のテキストの検索と置換

コード例

次の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" /> ...

正規表現を使った文字列の検索と置き換え

要素(title)内の属性を、二重引用符で囲まれた任意の文字列を含む展開タグ <title></title>に置き換えたいとします。

これはそれが完了した方法です。

  1. 問題のXMLファイルをエディタで開き、 Ctrl+Rを押します。 置換ペインがエディタの上部に表示されます。

  2. title のすべての属性を置き換えるには、そこに含まれる実際の文字列に関係なく、正規表現を使用します。チェックボックス正規表現が選択されていることを確認します。したがって、検索置換フィールドに入力したものはすべて正規表現として認識されます。

  3. 検索フィールドで、すべての title 属性を記述する正規表現の入力を開始します。
    \stitle="(.*)?"\s*(/>*)
    正規表現 \stitle=".*?"\s*[/>]*title 属性の内容と一致しますが、置換フィールドで参照するためのグループを取得することをお勧めします。
    regex sample code
  4. 次に、置換フィールドに次の正規表現を入力します。

    $2<title>$1</title>
    $1 は第1の捕獲群(英語)を指し、 $2 は第2の捕捉基を指す。

  5. 置換またはすべて置換をクリックします。

ご覧のように、二重引用符で囲まれた最初のキャプチャグループ <は要素 <title>に移動されますが、2番目のキャプチャグループ(/>)は先に移動して<new>要素を閉じます。

文字の大文字と小文字の変更

ここで、検索文字列の文字を変更したいとします。再度、正規表現チェックボックスが選択されていることを確認してください。

検索フィールドに検索式を入力します。

\stitle="(.*)?"\s*(/>*)

次に、置換フィールドに次の式を入力します。

\U$1

見つかった出現箇所は、大文字で置き換えられます。

replaceText1

次に、文字列をすべて小文字にしましょう。出現箇所を小文字に置き換えるには、次の置換文字列を入力します。

\L$1

次に、推奨される置換は次のようになります。

replaceText2

最後に、最初の文字の大文字と小文字を変更する場合は、次の置換文字列を入力します。

\l$1

PyCharmは次の置換を提案しています:

replaceText3
最終変更日: 2018年9月24日

関連事項