IntelliJ IDEA 2020.2ヘルプ

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

このセクションは、検索と置換の作成、およびナビゲーションパターンの発行に使用できる正規表現構文の簡単な要約です。

Sample of a regular expressions

RegEx構文リファレンス

文字説明
\

次の文字を特殊文字またはリテラルとしてマークします。例:

  • nは、文字nと一致します。" \n"改行文字と一致します。

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

^入力の始めに一致します。
$入力の終わりに一致します。
*直前の文字に0回以上一致します。例: "zo *"はzまたはzooのいずれかに一致します。
+直前の文字に1回以上一致します。例:「zo +」はzooと一致しますが、zとは一致しません。
?直前の文字に0回または1回マッチします。ex: a?ve?neverve と一致します。
.改行文字を除く任意の1文字と一致します。
(部分式)

部分式に一致し、一致を記憶します。正規表現の一部が括弧で囲まれている場合、正規表現のその部分はグループ化されます。正規表現演算子をグループ全体に適用できます。

  • 同じ正規表現内で一致した部分文字列を使用する必要がある場合は、後方参照 \numnum = 1..n)を使用してそれを取得できます。

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

  • 括弧文字を部分式に含める必要がある場合は、\( または \)を使用します。

x | yxまたはyのいずれかに一致します。例: z|woodzまたはwoodと一致します。 (z|w)oozooまたはwoodと一致します。
{ n }nは負でない整数です。n正確に一致します。例: o{2}Boboと一致しませんが、fooooodの最初の2つのoと一致します
{ n ,}

nは負でない整数です。n以上一致します。

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

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

{ n , m }mおよびnは非負の整数です。少なくとも n回および最大 m回一致します。例: o{1,3} は、「fooooood」の最初の3つのoに一致します。 o{0,1}o?と同等です。
[xyz]文字セット。囲まれた文字のいずれかに一致します。例: [abc] は、aとそのまま一致します
[^ xyz ]負の文字セット。囲まれていない任意の文字に一致します。例: [^abc] は、pとそのまま一致します
[ a-z ]文字の範囲。指定された範囲の任意の文字に一致します。例:" [a-z]" aからzの範囲の小文字の英字に一致します。
[^ m-z ]負の範囲の文字。指定した範囲にない文字に一致します。例: [^m-z] は、mからzまでの範囲にない文字にマッチします。
\b単語の境界、つまり単語とスペース間の位置に一致します。例: er\b動詞では決してなく、ererと一致します
\B非単語境界に一致します。 ea*r\Bear早くも一致しません
\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 n

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

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

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

\$ $ 文字を検索します。
\\$検索フィールドに入力されたこの正規表現は、行末で \ 文字を検索しようとしていることを意味します。
\l次の文字の大文字と小文字を小文字に変更します。置換フィールドでこのタイプの正規表現を使用します。
\u次の文字の大文字と小文字を大文字に変更します。置換フィールドでこのタイプの正規表現を使用します。
\L \E までの後続のすべての文字の大文字と小文字を小文字に変更します。置換フィールドでこのタイプの正規表現を使用します。
\U \E までのすべての後続の文字の大文字と小文字を大文字に変更します。置換フィールドでこのタイプの正規表現を使用します。
(?!)これは「否定先読み」のパターンです。例: A(?!B) は、IntelliJ IDEAが Aを検索することを意味しますが、その後に Bが続かない場合のみです。
(?=)これは「ポジティブルックアヘッド」のパターンです。例: A(?=B) は、IntelliJ IDEAが Aを検索することを意味しますが、その後に Bが続く場合にのみ一致します。
(?<=)これは、「肯定的な後読み」のパターンです。例: A(?<=B) は、IntelliJ IDEAが Aを検索することを意味しますが、その前に B がある場合のみです。
(?<!)これは「否定的な後読み」のパターンです。例: A(?<!B) は、IntelliJ IDEAが Aを検索することを意味しますが、その前に B がない場合のみです。

IntelliJ IDEAはすべての標準正規表現構文をサポートしているため、構文の詳細についてはhttps://www.regular-expressions.info(英語)を確認できます。

ヒント

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

Context menu with intentions
  • 正規表現の確認を選択し、Enterを押します。ポップアップするダイアログの上部ペインに現在の正規表現が表示されます。下のペインで、この式が一致する必要がある文字列を入力します。正規表現が入力された文字列と一致する場合、IntelliJ IDEAは正規表現に対して緑色のチェックマークを表示します。正規表現が一致しない場合、the Error icon が表示されます。

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

    A scratch file with the current regex

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

最終更新日: 2020年7月14日