正規表現リファレンス |
はじめに |
目次 |
クイックリファレンス |
文字 |
基本機能 |
文字クラス |
ショートハンド |
アンカー |
単語境界 |
量指定子 |
Unicode |
キャプチャグループ & 後方参照 |
名前付きグループ & 後方参照 |
特殊グループ |
モード修飾子 |
再帰 & バランシンググループ |
置換リファレンス |
文字 |
マッチしたテキスト & 後方参照 |
コンテキスト & 大文字小文字変換 |
条件分岐 |
このサイトの他のコンテンツ |
はじめに |
正規表現クイックスタート |
正規表現チュートリアル |
置換文字列チュートリアル |
アプリケーションと言語 |
正規表現の例 |
正規表現リファレンス |
置換文字列リファレンス |
書籍レビュー |
印刷用PDF |
このサイトについて |
RSSフィード & ブログ |
機能 | 構文 | 説明 | 例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
コメント | (?#コメント) | と(?#の間にあるものはすべて)正規表現エンジンによって無視されます。 | a(?#foobar)bは以下にマッチしますab | はい | はい | いいえ | はい | はい | はい | はい | はい | はい | いいえ | いいえ | はい | はい | はい | いいえ | ECMA | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
ブランチリセットグループ | (?|正規表現) | ブランチリセットグループ内の正規表現に、キャプチャグループを持つ複数の選択肢がある場合、キャプチャグループの番号はすべての選択肢で同じになります。 | (x)(?|(a)|(bc)|(def))\2は以下にマッチしますxaa, xbcbcまたはxdefdef最初のグループがxをキャプチャし、2番目のグループがa, bcまたはdef | V2 | いいえ | いいえ | 5.10 | 7.2 | はい | 5.2.4 | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | ECMA 1.42–1.83 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
アトミックグループ | (?>正規表現) | アトミックグループは、グループに一致が見つかった後、正規表現エンジンがグループにバックトラックするのを防ぎます。正規表現の残りの部分が失敗した場合、量指定子または選択肢がオプションになっている場合、エンジンはグループをバックトラックする可能性があります。ただし、グループ内の他の順列を試すためにグループにバックトラックすることはありません。 | a(?>bc|b)cは以下にマッチしますabccただしabc | はい | はい | はい | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ | はい | いいえ | ECMA | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
肯定先読み | (?=正規表現) | 先読み内のパターンがマッチできる位置でマッチします。位置のみにマッチします。文字を消費したり、マッチを拡張したりすることはありません。次のようなパターンではone(?=two)three、twoの間にあるものはすべてとthreeは、one | のマッチが終わる位置でマッチする必要があります。t(?=s)は、の2番目のstreets. | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | ECMA | ECMA | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
にマッチします。 | 否定先読み | (?!正規表現) | 肯定先読みに似ていますが、否定先読みは、先読み内の正規表現がマッチに失敗した場合にのみ成功します。t(?!s)は、の2番目のstreets. | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | ECMA | ECMA | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
は、最初の | にマッチします。 | 肯定後読み | (?<=正規表現)t(?!s)は、の2番目のstreets. | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | いいえ | はい | はい | 1.9 | いいえ | ECMA | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
後読み内のパターンがその位置で終わるようにマッチできる場合、その位置でマッチします。 | (?<=s)t | 否定後読み | (?<!正規表現)t(?=s)は、の2番目のstreets. | はい | はい | はい | はい | はい | はい | はい | はい | はい | はい | いいえ | はい | はい | 1.9 | いいえ | ECMA | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
後読み内のパターンがその位置で終わるようにマッチできない場合、その位置でマッチします。 | (?<!s)t | 後読み | (?<=正規表現|より長い正規表現)後読み内の選択肢は長さが異なる場合があります。は、の2番目の(?<=is|e)t. | はい | はい | はい | 5.30 | はい | はい | はい | はい | はい | はい | は、2番目と4番目の | はい | いいえ | 1.9 | は、2番目と4番目の | ECMA にマッチします。 | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の |
後読み内のパターンがその位置で終わるようにマッチできない場合、その位置でマッチします。 | n/a | 1.38–1.43 | (?<=x{n,m})有限の最大繰り返し回数を持つ量指定子は、後読み内で使用できます。は、の2番目の(?<=is|e)t. | はい | はい | 6 (?<=s\w{1,7})t | は、4番目の | いいえ | いいえ | いいえ | いいえ | いいえ | はい | は、2番目と4番目の | はい | いいえ | いいえ | は、2番目と4番目の | いいえ | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の |
後読み内のパターンがその位置で終わるようにマッチできない場合、その位置でマッチします。 | にマッチします。 | にのみマッチします。 | 4回失敗有限の最大繰り返し回数を持つ量指定子は、後読み内で使用できます。は、の2番目の(?<=is|e)t. | はい | はい | 13 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | はい | は、2番目と4番目の | はい | いいえ | いいえ | は、2番目と4番目の | いいえ | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の |
後読み内のパターンがその位置で終わるようにマッチできない場合、その位置でマッチします。 | 5.30回失敗 | 完全な正規表現構文は、後読み内で使用できます。 | (?<=s\w+)tは以下にマッチします(group)(?<=\1)の2番目の(?<=is|e)t. | はい | はい | いいえ | いいえ | いいえ | 10.23 | 7.3.0 | いいえ | 4.0.0 | はい | は、2番目と4番目の | はい | 3.5 | いいえ | は、2番目と4番目の | いいえ | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の | は、2番目と4番目の |
後方参照は、後読み内で使用できます。後読みで禁止されている構文は、参照されているキャプチャグループでも禁止されています。 | (\w).+(?<=\1) | twisty street(\w).+(?<=\1)正規表現マッチからテキストを除外する(\w).+(?<=\1)\K | の左側の正規表現によってマッチされたテキストは、正規表現全体のマッチから除外されます。それ以外の場合、正規表現は通常どおり左から右にマッチされます。は、の2番目のstreets. | V2 | いいえ | いいえ | 5.10 | 7.2 | はい | 5.2.4 | はい | はい | いいえ | いいえ | いいえ | いいえ | 2.0 | いいえ | ECMA 1.42–1.83 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
の左側のキャプチャグループ | は、通常どおりキャプチャします。st(?=正規表現)は最初のにのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | ここで、 | は有効な先読みであり、t(?=s)thenとelseの2番目のは有効な正規表現です。 | はい | はい | いいえ | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | ECMA | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
先読みが成功した場合、正規表現全体がマッチするためには「then」の部分がマッチする必要があります。先読みが失敗した場合、正規表現全体がマッチするためには「else」の部分がマッチする必要があります。先読みはゼロ長です。「then」と「else」の部分は、通常の正規表現のようにマッチを消費します。 | (?(?<=a)b|c)stは, にのみマッチします。と最初の先読み条件にマッチします。はb | とは、通常どおりキャプチャします。c | babxcact(?!s)7暗黙的な先読み条件elseの2番目の(?(正規表現)then|else) | いいえ | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
正規表現 | とstは有効な正規表現であり、はキャプチャグループの名前ではありません。にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | 「正規表現」がキャプチャグループの名前でない場合、 | と記述したかのように先読みとして解釈されます。先読みが成功した場合、正規表現全体がマッチするためには「then」の部分がマッチする必要があります。先読みが失敗した場合、正規表現全体がマッチするためには「else」の部分がマッチする必要があります。先読みはゼロ長です。「then」と「else」の部分は、通常の正規表現のようにマッチを消費します。は以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | はい | はい | いいえ | いいえ | 6.7 | はい | 5.2.0 | はい | はい | いいえ | いいえ | いいえ | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
正規表現 | とstは有効な正規表現であり、はキャプチャグループの名前ではありません。にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | 「正規表現」がキャプチャグループの名前でない場合、 | 747cは以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | V2 | いいえ | いいえ | 5.10 | 7.0 | はい | 5.2.2 | はい | はい | いいえ | いいえ | いいえ | いいえ | 2.0 | いいえ | ECMA 1.42–1.83 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
正規表現 | にマッチします。stは有効な正規表現であり、はキャプチャグループの名前ではありません。にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | 「正規表現」がキャプチャグループの名前でない場合、 | 名前付き条件は以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | V2 | いいえ | いいえ | 5.10 | 7.0 | はい | 5.2.2 | はい | はい | いいえ | いいえ | いいえ | いいえ | 2.0 | いいえ | ECMA 1.42–1.83 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
(?(名前)then|else) | 名前st1はキャプチャグループの名前であり、にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | 指定された名前のキャプチャグループがこれまでのマッチ試行に参加した場合、正規表現全体がマッチするためには「then」の部分がマッチする必要があります。キャプチャグループがこれまでのマッチ試行に参加しなかった場合、正規表現全体がマッチするためには「else」の部分がマッチする必要があります。 | (?<one>a)?(?(one)b|c)は以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | はい | はい | いいえ | はい | はい | はい | はい | はい | はい | いいえ | いいえ | いいえ | はい | 2.0 | いいえ | ECMA | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
は | 、最初のst-1、と2番目のにのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | にマッチします。 | (?(<name>)then|else)は以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | V2 | いいえ | いいえ | いいえ | 7.2 | はい | 5.2.4 | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
(?<one>a)?(?(<one>)b|c) | (?(+1)then|else)st+1は正の整数であり、にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | 条件付き構文で、条件部の左から数えて指定された数だけ名前付きまたは番号付きのキャプチャグループの開き括弧を数えることによって見つけられるキャプチャグループをテストします。参照されたキャプチャグループがこれまでのマッチ試行に関与した場合、「then」の部分がマッチしなければ、正規表現全体がマッチしません。キャプチャグループがこれまでのマッチ試行に関与しなかった場合、「else」の部分がマッチしなければ、正規表現全体がマッチしません。 | ((?(+1)b|c)(d)?){2}は以下にマッチしますccの間にあるものはすべてcdbの2番目のbdbdccxcdcxcdb | V2 | いいえ | いいえ | いいえ | 7.2 | はい | 5.2.4 | はい | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
(?(名前)then|else) | (?(+1)then|else)st1はキャプチャグループの名前であり、にのみマッチします。の間にあるものはすべて先読み条件(?(?=正規表現)then|else) | の+は無視され、その数値はキャプチャグループへの絶対参照として扱われます。参照されたキャプチャグループがこれまでのマッチ試行に関与した場合、「then」の部分がマッチしなければ、正規表現全体がマッチしません。キャプチャグループがこれまでのマッチ試行に関与しなかった場合、「else」の部分がマッチしなければ、正規表現全体がマッチしません。 | (a)?(?(+1)b|c)は以下にマッチしますab(?(\d{2})7|c)elseはelseの2番目のは有効な正規表現です。 | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | はい | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ | いいえ |
機能 | 構文 | 説明 | 例 | JGsoft | .NET | Java | Perl | PCRE | PCRE2 | PHP | Delphi | R | JavaScript | VBScript | XRegExp | Python | Ruby | std::regex | Boost | Tcl ARE | POSIX BRE | POSIX ERE | GNU BRE | GNU ERE | Oracle | XML | XPath |
| クイックスタート | チュートリアル | ツールと言語 | 例 | リファレンス | 書籍レビュー |
| はじめに | 目次 | クイックリファレンス | 文字 | 基本機能 | 文字クラス | ショートハンド | アンカー | 単語境界 | 量指定子 | Unicode | キャプチャグループと後方参照 | 名前付きグループと後方参照 | 特殊グループ | モード修飾子 | 再帰とバランスグループ |
| 文字 | マッチしたテキストと後方参照 | コンテキストと大文字小文字変換 | 条件 |
ページURL: https://regular-expressions.dokyumento.jp/refadv.html
ページ最終更新日: 2023年10月16日
サイト最終更新日: 2024年3月15日
Copyright © 2003-2024 Jan Goyvaerts. All rights reserved.