クイックスタート
チュートリアル
ツール&言語
リファレンス
書評
正規表現リファレンス
はじめに
目次
クイックリファレンス
文字
基本機能
文字クラス
短縮記法
アンカー
単語境界
繰り返し子
Unicode
キャプチャグループとバックリファレンス
名前付きグループとバックリファレンス
特殊グループ
モード修飾子
再帰とバランスグループ
置換リファレンス
文字
一致したテキストとバックリファレンス
コンテキストと大文字小文字の変換
条件式
このサイトについて、その他
はじめに
正規表現クイックスタート
正規表現チュートリアル
置換文字列チュートリアル
アプリケーションと言語
正規表現の例
正規表現リファレンス
置換文字列リファレンス
書評
印刷可能なPDF
このサイトについて
RSSフィードとブログ
RegexBuddy—Better than a regular expression reference!

正規表現リファレンス

このウェブサイトの正規表現リファレンスは、利用可能なすべての正規表現構文のリファレンスとして、またチュートリアルで説明されている正規表現フレーバーでサポートされている機能の比較としても機能します。リファレンステーブルには膨大な情報が詰め込まれています。それらを最大限に活用するには、この凡例に従って読み方を学習してください。

表には、正規表現機能ごとに6つの列があります。最初の4つは機能を説明しています。

機能機能の名前。チュートリアルの関連セクションへのリンクとしても機能します。
構文この機能の実際の正規表現構文。構文が固定されている場合は、そのまま表示されます。構文に変数要素がある場合は、構文が記述されます。
説明機能の要約。
機能を示す機能的な正規表現。

最後の2つの列は、選択した2つの正規表現フレーバーがこの特定の機能をサポートしているかどうかを示しています。上記のドロップダウンリストを使用して、フレーバーを変更できます。多くの可能なインジケーターがあります。

YESこのフレーバーのすべてのバージョンでこの機能がサポートされています。
3.0このフレーバーのバージョン3.0以降でこの機能がサポートされています。それ以前のバージョンではサポートされていません。
2.0のみバージョン2.0のみでこの機能がサポートされています。それ以前およびそれ以降のバージョンではサポートされていません。
2.0~2.9バージョン2.0~2.9のみでこの機能がサポートされています。それ以前およびそれ以降のバージョンではサポートされていません。
Unicodeこの機能は、このフレーバーのすべてのバージョンでUnicode文字で動作します。
コードページこの機能は、このフレーバーのすべてのバージョンでアクティブなコードページの文字で動作します。
ASCIIこの機能は、このフレーバーのすべてのバージョンでASCII文字のみで動作します。
3.0 Unicodeこのフレーバーのバージョン3.0以降で、この機能はUnicode文字で動作します。それ以前のバージョンではまったくサポートされていません。
3.0 Unicode
2.0 ASCII
このフレーバーのバージョン3.0以降で、この機能はUnicode文字で動作します。バージョン2.0~2.9ではASCII文字で動作します。それ以前のバージョンではまったくサポートされていません。
3.0 Unicode
2.0 コードページ
このフレーバーのバージョン3.0以降で、この機能はUnicode文字で動作します。バージョン2.0~2.9ではアクティブなコードページの文字で動作します。それ以前のバージョンではまったくサポートされていません。
文字列正規表現フレーバーはこの構文をサポートしていません。しかし、この正規表現フレーバーが通常使用されるプログラミング言語の文字列リテラルはこの構文をサポートしています。
3.0
1.0 文字列
この正規表現フレーバーのバージョン3.0以降ではこの構文がサポートされています。正規表現フレーバーのそれ以前のバージョンではこの構文はサポートされていません。しかし、この正規表現フレーバーが通常使用されるプログラミング言語の文字列リテラルでは、バージョン1.0からこの構文がサポートされています。
オプション特定のオプションを設定するか、特定のモード修飾子を前に付ける場合、この正規表現フレーバーのすべてのバージョンでこの機能がサポートされます。
オプション
3.0
特定のオプションを設定するか、特定のモード修飾子を前に付ける場合、この正規表現フレーバーのバージョン3.0以降でこの機能がサポートされます。それ以前のバージョンでは、構文自体がサポートされていないか、機能で説明されている動作に構文の動作を変更するモード修飾子がサポートされていません。
3.0
2.0 失敗
この正規表現フレーバーのバージョン3.0以降でこの機能がサポートされています。バージョン2.0と3.0より前のリリースでは構文が認識されますが、この正規表現トークンは常に一致に失敗します。バージョン2.0より前のバージョンでは構文がサポートされていません。
いいえこのフレーバーのどのバージョンでもこの機能はサポートされていません。この構文が実際に行うことについての表示はありません。同じ構文が、リファレンステーブルの他の場所で示されている異なる機能に使用される場合があります。または、構文はエラーを引き起こすか、プレーンテキストとして解釈される可能性があります。
n/aこの機能は、この正規表現フレーバーには適用されません。リファレンステーブルで前に説明されている特定の構文の動作を説明する機能は、その構文をまったくサポートしていないフレーバーに対してn/aを示します。
失敗構文はフレーバーによって認識され、それを使用する正規表現は機能しますが、この特定の正規表現トークンは常に一致に失敗します。このトークンが選択または繰り返し子によってオプションにされない限り、正規表現は一致を見つけることができません。
2.0~2.9 失敗バージョン2.0~2.9は構文を認識しますが、この正規表現トークンは常に一致に失敗します。それ以前およびそれ以降のバージョンでは、構文が認識されないか、構文エラーとして扱われます。
無視構文はフレーバーによって認識されますが、役に立つことは何も行いません。この特定の正規表現トークンは常に長さ0の一致を見つけます。
エラー構文はフレーバーによって認識されますが、構文エラーとして扱われます。

この凡例で「すべてのバージョン」または「どのバージョンも」という場合、リファレンステーブルでカバーされている各フレーバーのすべてのバージョン、またはどのバージョンも意味します。

JGsoftV1: EditPad 6および7; PowerGREP 3および4; AceText 3
V2: EditPad 8; PowerGREP 5; AceText 4
.NET1.0~1.1: 元の.NETフレームワークの最初の2つのリリース
2.0~7.0: .NET Framework 2.0~4.8、.NET Core 1.0.0~3.1.0、および.NET 5.0~7.0
1.0~7.0: .NET Frameworkと.NET Coreのすべてのバージョン
Java4~21
Perl5.8~5.32
PCRE4.0~8.45
PCRE210.00~10.39
PHP5.0.0~8.1.24
DelphiXE~XE8および10~10.4および11; TRegExのみ; C++Builder XE~XE8および10~10.4および11にも適用されます
R2.14.0~4.2.1
JavaScriptChrome、Edge、Firefoxの最新バージョン
VBScriptクォークモードのVBscriptとInternet Explorer
XRegExp2.0.0~5.1.0
Python2.4~3.12
Ruby1.8~3.2
std::regexVisual C++ 2008~2022 (Dinkumwarestdライブラリ)
boost::regex1.38~1.39および1.42~1.83
Tcl ARE8.4~8.6
POSIX BREIEEE Std 1003.1
POSIX EREIEEE Std 1003.1
GNU BRE
GNU ERE
Oracle10gR1、10gR2、11gR1、11gR2、12c
XML1.0~1.1
XPath2.0~3.1

.NETフレーバーの場合、一部の機能は「ECMA」または「非ECMA」と表示されます。つまり、機能はRegexOptions.ECMAScriptが設定されている場合、または設定されていない場合にのみサポートされます。「非ECMA Unicode」と表示されている機能は、RegexOptions.ECMAScriptが設定されている場合はASCII文字と一致し、RegexOptions.ECMAScriptが設定されていない場合はUnicode文字と一致します。.NET 2.0以降に適用されるものはすべて、.NET Coreのどのバージョンにも適用されます。Visual Studio IDEは、VS 2012以降、非ECMA .NETフレーバーを使用します。

std::regexおよびboost::regexフレーバーの場合、ECMA、basic、extended、grep、egrep、awkという追加のインジケーターがあります。これらが1つ以上表示されている場合、正規表現のコンパイル時にこれらの構文のいずれかを指定した場合にのみ、機能がサポートされることを意味します。Unicodeインジケーターが付いた機能は、ワイド文字列でstd::wregexまたはboost::wregexを使用する場合にUnicode文字と一致します。置換文字列リファレンスでは、追加のインジケーターとしてsedとdefaultがあります。いずれかが表示されている場合、match_flag_type::format_sedをregex_replace()に渡すか、渡さない場合にのみ機能がサポートされます。boostの場合、機能がmatch_flag_type::format_allをregex_replace()に渡した場合にのみサポートされることを示す「all」というもう1つの置換インジケーターがあります。

PCRE2フレーバーの場合、一部の置換文字列機能は「拡張」と表示されます。これは、PCRE2_SUBSTITUTE_EXTENDEDpcre2_substitute.