PyCharm 2019.3ヘルプ

正規表現構文リファレンス

このセクションは、検索と置換の作成、およびナビゲーションパターンの発行に使用できるregexp構文の概要です。

RegEx構文リファレンス

文字

説明

\次の文字を特殊文字またはリテラルとしてマークします。例:
  • nは文字nに一致します。"\n" は改行文字と一致します。

  • シーケンス \\\ と一致し、\((と一致します。

^

入力の始めに一致します。

$

入力の終わりに一致します。

*

直前の文字とゼロ回以上一致します。例:"zo*" はzまたはzooのいずれかと一致します。

+

前の文字と1回以上一致します。例:"zo+"はzooと一致しますが、zとは一致しません。

?

直前の文字に0回または1回マッチします。ex: a?ve?neverve と一致します。

.

改行文字を除く任意の1文字と一致します。

(部分式)

部分式と一致し、一致を覚えています。正規表現の一部が括弧で囲まれている場合、正規表現のその部分はグループ化されます。正規表現演算子をグループ全体に適用することができます。
  • 同じ正規表現内で一致した部分文字列を使用する必要がある場合は、後方参照 \numnum = 1..n)を使用してそれを取得できます。

  • 現在の正規表現の外側のどこかで(たとえば、置換文字列として別の正規表現で)一致したサブストリングを参照する必要がある場合は、ドル記号 $numnum = 1..n)を使用してそれを検索できます。

  • サブ式に括弧文字を含める必要がある場合は、\( または \)を使用してください。

x | y

xまたはyに一致します。例: z|woodzまたはwoodと一致します。 (z|w)oozooまたはwoodと一致します。

{ n }

nは負ではない整数です。正確n回一致します。例: o{2}Boboと一致しませんが、最初の2つのoはfooooodに一致します。

{ n ,}

nは負ではない整数です。少なくとも n回マッチします。

例: o{2,}Boboと一致せず、"foooood" のすべてのoと一致します。

o{1,}o+に相当します。 o{0,}o*と同等です。

{ n , m }

mnは負ではない整数です。少なくとも n最大m回一致します。例: o{1,3} は最初の3つのoを "fooooood"にマッチさせます。 o{0,1}o?に相当します。

[xyz]

文字セット。囲まれた文字のいずれかに一致します。例: [abc] は、aプレーンで一致します

[^ xyz ]

負の文字セット。囲まれていない文字と一致します。例: [^abc] は、pプレーンで一致します

[ a-z ]

文字の範囲。指定された範囲内の任意の文字と一致します。ex: "[a-z]"は、aからzの範囲の小文字のアルファベットと一致します。

[^ m-z ]

負の範囲の文字。指定した範囲にない文字に一致します。例: [^m-z] は、mからzまでの範囲にない文字にマッチします。

\b

単語の境界、つまり単語とスペース間の位置に一致します。例: er\b動詞では決してなく、ererと一致します

\B

単語以外の境界に一致します。 ea*r\B決して早い段階earと一致します

\d

数字の文字と一致します。 [0-9]に相当します。

\D

非数字の文字と一致します。 [^0-9]に相当します。

\f

フォームフィード文字に一致します。

\n

改行文字と一致します。

\r

キャリッジリターン文字に一致します。

\s

スペース、タブ、フォームフィードなどを含む任意の空白に一致します。 [ \f\n\r\t\v]と同等です。

\S

空白以外の空白文字と一致します。[^ \f\n\r\t\v]に相当します。

\t

タブ文字に一致します。

\v

縦のタブ文字に一致します。

\w

アンダースコアを含む任意の単語文字に一致します。 [A-Za-z0 -9_]に相当します。検索フィールドで使用します。

\W

単語以外の任意の文字と一致します。 [^A-Za-z0-9_]に相当します。

\ num

numはバック覚えマッチへの参照を表す、正の整数でnumが、一致しています。

例: (.)\1 は2つの連続した同一の文字と一致します。

\ nnに一致します。nは8進エスケープ値です。オクタルエスケープ値は、1桁、2桁、または3桁の長さでなければなりません。

例: \11\011 はどちらもタブ文字と一致します。

\0011\001 &1と同等です。

オクタルエスケープ値は256を超えてはいけません。そうした場合、最初の2桁だけが式を構成します。ASCIIコードを正規表現で使用できるようにします。

\x nnに一致します。nは16進のエスケープ値です。16進のエスケープ値は正確に2桁の長さでなければなりません。

例: \x41Aと一致します。 \x041 は、\x04 & 1

ASCIIコードを正規表現で使用できるようにします。

\$

$ 文字を検索します。

\\$

検索フィールドに入力されたこの正規表現は、行末に \ 文字を見つけようとしていることを意味します。

\l

次の文字の大/小文字を小文字に変更します。このタイプの正規表現を置換フィールドに使用します。

\u

次の文字の大文字を大文字に変更します。このタイプの正規表現を置換フィールドに使用します。

\L

後続のすべての文字の大文字小文字を \E まで小文字に変更します。このタイプの正規表現を置換フィールドに使用します。

\U

後続のすべての文字の大文字を \E まで大文字に変更します。このタイプの正規表現を置換フィールドに使用します。

ヒント

PyCharmは正規表現の有効性チェックし、スクラッチパッドで正規表現を編集するためのインテンションアクションを提供します。キャレットを正規表現に置き、Alt+Enterを押します。このコンテキストで使用可能なインテンションアクションの候補リストが表示されます。

py check regexp
  • 正規表現の確認を選択して Enterを押します。ポップアップするダイアログで、上部ペインに現在の正規表現が表示されます。下部ペインで、この式が一致する文字列を入力します。正規表現が入力した文字列と一致すると、背景は緑色になります。正規表現が一致しない場合は、背景は赤です。

    py check regexp1

  • 正規表現フラグメントの編集を選択し、Enterを押します。正規表現は、エディターの別のタブで編集用に開きます。これはスクラッチパッドであり、物理的にファイルが作成されないことに注意してください。

    py edit regexp

    スクラッチパッドに入力すると、すべての変更が元の正規表現と同期されます。スクラッチパッドを閉じるには、Ctrl+F4を押します。

最終更新日: 2020年3月30日