正規表現言語クイックリファレンス
正規表現エンティティは正規表現を介して値の一致に決定論的アプローチを使用します..
正規表現は、正規表現エンジンが入力テキストで照合しようとするパターンです。 パターンは、1つ以上の文字リテラル、演算子、または構成で構成されます。 正規表現には、特殊文字と通常の文字の両方を含めることができます。 「A」、「a」、「0」などのほとんどの通常の文字は、最も単純な正規表現です。それらは単に自分自身と一致します。 通常の文字を連結できるため、lastは文字列 'last'と一致します。
'|'などの一部の文字または '('、は特別です。 特殊文字は、通常の文字のクラスを表すか、それらの周りの正規表現がどのように解釈されるかに影響を与えます。
このクイックリファレンスの各セクションには、正規表現を定義するために使用できる文字、演算子、および構成の特定のカテゴリがリストされています。
サポートされている正規表現機能
次のセクションでは、サポートされている正規表現機能について説明します。
正規表現の円記号(\)は、それに続く文字が特殊文字(次の表に示す)であるか、文字通りに解釈する必要があることを示します。
エスケープ文字 | 説明 | パターン | 一致する |
---|---|---|---|
\NS | ベル文字に一致、\ u0007 | \NS | 「エラー!」の「\ u0007」 + '\ u0007' |
\NS | 文字クラスでは、バックスペースに一致します\ u0008 | [\ b] {3、} | 「\ b \ b \ b \ b」の「\ b \ b \ b \ b」 |
\t |
タブに一致します、\ u0009。 |
(\ w +)\ t | 「item1 \ titem2 \ t」の「item1 \ t」、「item2 \ t」 |
\r |
キャリッジリターン\ u000Dに一致します。 (\ rは改行文字と同等ではありません\ n。) |
\ r \ n(\ w +) |
「\ r \ nこれらは\ n2行です。」の「\ r \ nこれら」 |
\ v |
垂直タブ\ u000Bに一致します。 |
[\ v] {2、} |
「\ v \ v \ v」の「\ v \ v \ v」 |
\NS |
フォームフィード\ u000Cに一致します。 |
[\ f] {2、} |
「\ f \ f \ f」の「\ f \ f \ f」 |
\\n |
改行\ u000Aに一致します。 |
\ r \ n(\ w +) |
「\ r \ nこれらは\ n2行です。」の「\ r \ nこれら」 |
\ nnn |
8進表現を使用して文字を指定します(nnn 2桁または3桁で構成されます)。 |
\ w \ 040 \ w |
「abcd」の「ab」、「cd」 |
\NS nn |
16進表現を使用して文字を指定します(nn 正確に2桁で構成されます)。 |
\ w \ x20 \ w |
「abcd」の「ab」、「cd」 |
\ u nnnn |
16進表現(で表される正確に4桁)を使用してUnicode文字と一致します nnnn)。 |
\ w \ u0020 \ w |
「abcd」の「ab」、「cd」 |
\ |
このトピックおよびこのトピックの他の表でエスケープ文字として認識されない文字が後に続く場合、その文字と一致します。 たとえば、\ *は\ x2A、および\と同じです。 \ x2Eと同じです。 これにより、正規表現エンジンは、言語要素(*や?など)と文字リテラル(\ *または\?で表される)を明確にすることができます。 |
\ d + [\ + -x \ *] \ d + |
「(2 + 2)* 3 * 9」の「2 + 2」と「3 * 9」 |
文字クラスは、文字セットのいずれか1つと一致します。 文字クラスには、次の表にリストされている言語要素が含まれます。
キャラクタークラス | 説明 | パターン | 一致する |
---|---|---|---|
[ character_group ] |
内の任意の1文字に一致します character_group |
[ae] |
「灰色」の「a」 |
[^ character_group ] |
否定: にない単一の文字に一致します character_group。 デフォルトでは、 character_group 大文字と小文字が区別されます。 |
[^ aei] |
「統治」の「r」、「g」、「n」 |
[ 初め – 過去 ] |
文字範囲: からの範囲内の任意の1文字に一致します 初め に 過去。 |
[AZ] |
「AB123」の「A」、「B」 |
. |
ワイルドカード: \ n以外の任意の1文字に一致します。 |
ae |
「nave」の「ave」 |
\ w |
任意の単語文字に一致します。 |
\ w |
「IDA1.3」の「I」、「D」、「A」、「1」、「3」 |
\ W |
単語以外の文字に一致します。 |
\ W |
」「、「。」 「IDA1.3」で |
\NS |
任意の空白文字に一致します。 |
\ w \ s |
「IDA1.3」の「D」 |
\NS |
空白以外の文字に一致します。 |
\NS |
「int__ctr」の「_」 |
\NS |
任意の10進数に一致します。 |
\NS |
「4 = IV」の「4」 |
\NS |
10進数以外の任意の文字に一致します。 |
\NS |
”“、“ =”、”“、“ I”、“ V” in“ 4 = IV” |
アンカー、またはアトミックゼロ幅アサーションは、文字列内の現在の位置に応じて一致を成功または失敗させますが、エンジンが文字列を進んだり、文字を消費したりすることはありません。 次の表にリストされているメタ文字はアンカーです。
アサーション | 説明 | パターン | 一致する |
---|---|---|---|
^ |
デフォルトでは、一致は文字列の先頭から開始する必要があります。マルチラインモードでは、ラインの先頭から開始する必要があります。 |
^ \ d{3} |
「901-333-」の「901」 |
$ |
デフォルトでは、一致は文字列の最後または文字列の最後の\ nの前に発生する必要があります。マルチラインモードでは、行の終わりの前、または行の終わりの\ nの前に発生する必要があります。 |
-\NS{3}$ |
「-901-333」の「-333」 |
\NS |
一致は文字列の先頭で発生する必要があります。 |
\広告{3} |
「901-333-」の「901」 |
\ Z |
一致は、文字列の最後、または文字列の最後の\ nの前に発生する必要があります。 |
-\NS{3}\ Z |
「-901-333」の「-333」 |
\ z |
一致は文字列の最後で発生する必要があります。 |
-\NS{3}\ z |
「-901-333」の「-333」 |
\NS |
一致は、\ w(英数字)文字と\ W(英数字以外)文字の間の境界で発生する必要があります。 |
\ b \ w + \ s \ w + \ b |
「彼らのテーマ」、「彼らのテーマ」の「彼らのテーマ」 |
\NS |
一致は\ b境界で発生してはなりません。 |
\ベンド\ w * \ b |
「endsendsendurelender」の「ends」、「ender」 |
グループ化コンストラクトは、正規表現の部分式を示し、通常は入力文字列の部分文字列をキャプチャします。 グループ化構造には、次の表にリストされている言語要素が含まれます。 非キャプチャグループのみがサポートされます。
グループ化の制約 | 説明 | パターン | 一致する |
---|---|---|---|
(?: 副表現: |
非キャプチャグループを定義します。 |
(?:[0-9]{4})|(?:[0-9] [0-9] [0-9] [0-9]) |
「番号は1234」の「1234」 |
(?= 部分式 )。 |
ゼロ幅のポジティブ先読みアサーション。 |
\ w +(?= \。) |
「彼は」の「is」、「ran」、「out」。 犬は走った。 太陽が出ています。」 |
(?! 部分式 )。 |
ゼロ幅の負の先読みアサーション。 |
\ b(?! un)\ w + \ b |
「使用された統一性がわからない」の「確実」、「使用済み」 |
(?<= 部分式 )。 |
ゼロ幅のポジティブルックビハインドアサーション。 |
(?<= 19)\ d{2}\NS |
「185119991950 1905 2003」の「99」、「50」、「05」 |
(?<! 部分式 ) |
ゼロ幅の負のルックビハインドアサーション。 |
(?<!19)\d{2}\b<sajan index="1" /> |
「185119991950 1905 2003」の「51」、「03」 |
数量詞は、一致が発生するために、前の要素(文字、グループ、または文字クラスのいずれか)のインスタンスが入力文字列にいくつ存在する必要があるかを指定します。 数量詞には、次の表にリストされている言語要素が含まれます。
修飾子 | 説明 | パターン | 一致する |
---|---|---|---|
* |
前の要素と0回以上一致します。 |
\ d * \。\ d |
「.0」、「19.9」、「219.9」 |
+ |
前の要素と1回以上一致します。 |
「be +」 |
「been」の「bee」、「bent」の「be」 |
? |
前の要素に0回または1回一致します。 |
"雨" |
「走った」、「雨」 |
{{ NS } |
前の要素と完全に一致します NS 回。 |
"、\NS{3}」 |
「1,043.6」の「、043」、「、876」、「、543」、「9,876,543,210」の「、210」 |
{{ NS 、} |
少なくとも前の要素と一致します NS 回。 |
「\ d {2、}」 |
「166」、「29」、「1930」 |
{{ NS 、 NS } |
少なくとも前の要素と一致します NS 回数、しかしそれ以下 NS 回。 |
「\ d {3,5}」 |
「166」、「17668」 |
*?, +?, ?? |
と同じ *、 + と ?、ただし、可能な限り少ない回数。 |
<.*?> |
NS '*'、 '+'、 と 「?」 修飾子はすべてです よく深い;それらは可能な限り多くのテキストに一致します。 この動作が望ましくない場合があります。もしそこにあるなら <。*> と一致します '<a> NS <c>'、文字列だけでなく、文字列全体に一致します '<a>'。 追加する ? 修飾子が一致を実行させた後 欲張りでない また 最小限 ファッション;なので 少し 可能な限り文字が一致します。 REの使用 <。*?> のみ一致します '<a>'。 |
{{ NS }? |
前の要素と完全に一致します NS 回。 |
"、\NS{3}?」 |
「1,043.6」の「、043」、「、876」、「、543」、「9,876,543,210」の「、210」 |
{{ NS 、}? |
少なくとも前の要素と一致します NS 回数ですが、できるだけ少ない回数です。 |
「\ d {2、}?」 |
「166」、「29」、「1930」 |
{{ NS 、 NS }? |
前の要素と一致します NS と NS 回数ですが、できるだけ少ない回数です。 |
「\ d {3,5}?」 |
「166」、「17668」 |
代替コンストラクトは、正規表現を変更して、いずれかまたは両方のマッチングを有効にします。 これらの構成には、次の表にリストされている言語要素が含まれています。
修飾子 | 説明 | パターン | 一致する |
---|---|---|---|
| |
縦棒(|)文字で区切られた任意の1つの要素に一致します。 |
th(?: e | is | at) |
「これは日です」の「the」、「this」。 |