JetBrains Rider 2026.1 Help

RegExp のコードインスペクション

このトピックでは、RegExp で利用できるすべての JetBrains Rider コードインスペクション を一覧表示します。

エディター | インスペクション設定 | インスペクション重大度 | 他の言語 設定ページ  Ctrl+Alt+S で、特定のインスペクションを切り替えたり、その重要度レベルを変更できます。

インスペクション

説明

デフォルトの重大度

匿名キャプチャーグループまたは数値バックリファレンス

RegExp 内の匿名のキャプチャーグループと数値の後方参照をレポートします。 これらは、RegExp ダイアレクトが名前付きグループおよび名前付きグループの参照をサポートしている場合にのみ報告されます。 名前付きグループと名前付きバックリファレンスはコードの可読性を向上させるため、代わりに使用することをお勧めします。 キャプチャーが不要な場合は、キャプチャーしないグループ、つまり (xxx) の代わりに (?:xxx) を使用することで、マッチングのパフォーマンスを高め、メモリの使用量を減らすことができます。

例:

(\d\d\d\d)\1

より良い正規表現パターンは次のようになります。

(?<quad>\d\d\d\d)\k<quad>

2017.2 の新機能

無効

予期しない位置のアンカー開始または終了

パターンの先頭にない ^ または \A アンカーと、パターンの末尾にない $\Z\z アンカーを報告します。 間違った位置にあると、これらの正規表現アンカーはパターンが何にも一致しないようにします。 ^ および $ アンカーの場合、文字通りの文字が意味され、エスケープが忘れられた可能性があります。

例:

(Price $10)

2018.1 の新機能

警告​​ 警告

連続するスペース

RegExp 内の複数の連続するスペースを報告します。 デフォルトではスペースは表示されないため、必要なスペースの数を確認するのは難しい場合があります。 連続するスペースを単一のスペースとカウントされた数量詞に置き換えることで、RegExp をより明確にすることができます。

例:

( )

クイックフィックスが適用された後:

( {5})

2017.1 の新機能

警告​​ 警告

カスタム正規表現インスペクション

カスタム正規表現インスペクション

警告​​ 警告

論理和内の重複する分岐

正規表現の交互で重複するブランチを報告します。 ブランチを複製すると、マッチングが遅くなり、表現の意図がわかりにくくなります。

例:

(alpha|bravo|charlie|alpha)

クイックフィックスが適用された後:

(alpha|bravo|charlie)

2017.1 の新機能

警告​​ 警告

重複した文字がある文字クラス

RegExp 文字クラス内の重複文字を報告します。 重複する文字は不要であり、正規表現のセマンティクスを変更せずに削除できます。

例:

[aabc]

クイックフィックスが適用された後:

[abc]

警告​​ 警告

論理和の分岐が空です

正規表現の交互で空のブランチを報告します。 空のブランチは空の文字列とのみ一致し、ほとんどの場合、望ましいものではありません。 このインスペクションは、交代の開始時または終了時に単一の空のブランチを報告しません。

例:

(alpha||bravo)

クイックフィックスが適用された後:

(alpha|bravo)

2017.2 の新機能

警告​​ 警告

エスケープされたメタ文字

エスケープされたメタ文字を報告します。 一部の RegExp コードスタイルでは、メタ文字をキャラクタークラス内に配置することで、正規表現を理解しやすくするよう指定されています。 このインスペクションは、キャラクタークラス内で追加のエスケープが必要となるため、メタ文字 [] 、および ^ については警告しません。

例:

\d+\.\d+

クイックフィックスが適用された後:

\d+[.]\d+

2017.1 の新機能

情報 ハイライトなし、修正のみ

8 進数のエスケープ

後方参照と混同しやすい 8 進エスケープを報告します。 混乱を避けるために 16 進数のエスケープを使用してください。

例:

\07

クイックフィックスが適用された後:

\x07

2017.1 の新機能

情報 ハイライトなし、修正のみ

冗長な '\d'、'[:digit:]'、または '\D' クラス要素

1 つのクラスで \w または [:word:] (\D\W) で使用され、削除できる冗長な \d または [:digit:] を報告します。

例:

[\w\d]

クイックフィックスが適用された後:

[\w]

2022.2 の新機能

弱い警告 弱い警告

冗長な文字エスケープ

意味を維持しながら、エスケープされていない文字に置き換えることができる冗長な文字エスケープシーケンスを報告します。 文字クラスの外部で必要な多くのエスケープシーケンスは、文字クラスの角括弧 [] 内では冗長です。

一部のダイアレクト(JavaScript、Python など)では、文字クラスの外で波括弧 { をエスケープせずに開くことができますが、波括弧を文字としてエスケープする必要があるダイアレクトがあるため、混乱を招き、パターンの移植性が低下する可能性があります。 このため、インスペクションは、エスケープされた波括弧の開始を報告しません。

例:

\-\;[\.]

クイックフィックスが適用された後:

-;[.]

括弧 '}'および']' を閉じるエスケープを無視するオプションは、正規表現ダイアレクトによってエスケープ解除が許可されている場合に、 \} および \] を文字クラスの外部に報告するかどうかを指定します。

2017.3 の新機能

警告​​ 警告

冗長なネストした文字クラス

不要なネストされた文字クラスを報告します。

例:

[a-c[x-z]]

クイックフィックスが適用された後:

[a-cx-z]

2020.2 の新機能

警告​​ 警告

正規表現は単純化できます

簡略化できる正規表現を報告します。

例:

[a] xx* [ah-hz]

クイックフィックスが適用された後:

a x+ [ahz]

2022.1 の新機能

弱い警告 弱い警告

単一文字の論理和

RegExp で単一文字の交替を報告します。 代わりに文字クラスを使用する方が簡単です。 これにより、マッチングパフォーマンスも向上する可能性があります。

例:

a|b|c|d

クイックフィックスが適用された後:

[abcd]

2017.1 の新機能

警告​​ 警告

疑わしい後方参照

実行時に解決できない参照を報告します。 これは、後方参照が何にも一致しないことを意味します。 グループが逆参照の後に定義されている場合、またはグループが交互の別のブランチで定義されている場合、逆参照は解決できません。

後方参照の後に定義されたグループの例:

\1(abc)

異なるブランチのグループと後方参照の例:

a(b)c|(xy)\1z

2022.1 の新機能

警告​​ 警告

不要な非キャプチャーリンググループ

試合結果に影響を与えない不要な非キャプチャーグループを報告します。

例:

Everybody be cool, (?:this) is a robbery!

クイックフィックスが適用された後:

Everybody be cool, this is a robbery!

2021.1 の新機能

警告​​ 警告

2026 年 6 月 12 日