IntelliJ IDEA 2026.1 Help

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

このセクションは、 正規表現構文の簡潔な概要で、 検索と置換の作成や課題のナビゲーションパターンに使用できます。

正規表現のサンプル

RegEx構文リファレンス

文字

説明

\

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

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

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

^

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

$

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

*

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

+

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

?

直前の文字に 0 回または 1 回マッチします。 例: 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 とは一致しませんが、 foooood の最初の 2 つの o とは一致します。

{n,}

n は負でない整数です。 少なくともn 回一致します。

例: o{2,}Bobo とは一致しませんが、 food のすべての o と一致します。

o{1,}o+ に相当します。 o{0,}o* に相当します。

{n,m}

mn は非負整数です。 n 以上 m以下の繰り返しに一致します。 例: o{1,3}food の最初の 3 つの「o」に一致します。 o{0,1}o? に相当します。

[xyz]

文字セット。 囲まれた文字のいずれかと一致します。 例: [abc]plain 内の a と一致します。

[^xyz]

否定の文字セット。 囲まれていない任意の文字と一致します。 例: [^abc]plain 内の p と一致します。

[a-z]

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

[^m-z]

負の文字範囲。 指定された範囲外の任意の文字と一致します。 例: [^m-z] は、 m から z の範囲外の任意の文字と一致します。

\b

単語の境界、つまり単語とスペース間の位置に一致します。 例: er\bneverer と一致しますが、 verber とは一致しません。

\B

非単語境界に一致します。 ea*r\Bnever earlyear に一致します。

\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 つの連続した同一の文字と一致します。

\n

n に一致します。ここで、 n は 8 進エスケープ値です。 8 進エスケープ値は 1 桁、2 桁、または 3 桁である必要があります。

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

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

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

\xn

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 が続く場合にのみ一致することを意味します。

(?<=)

これは肯定後読みのパターンです。 例: (?<=B)A は、IntelliJ IDEA が A を検索することを意味しますが、その前に B がある場合のみです。

(?<!)

これは否定後読みのパターンです。 例: (?<!B)A は、IntelliJ IDEA が A を検索することを意味しますが、その前に B がない場合のみです。

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

ヒント

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

インテンションのコンテキストメニュー
  • 正規表現の確認 を選択し、 Enter を押します。 ポップアップダイアログの上部ペインに、現在の正規表現が表示されます。 下部ペインに、この正規表現に一致する文字列を入力します。 入力した文字列が正規表現に一致する場合、IntelliJ IDEA は正規表現に緑色のチェックマークを表示します。 正規表現に一致しない場合は、 the Error icon が表示されます。

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

    現在の正規表現を持つスクラッチファイル

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

2026 年 3 月 30 日