Javaの正規表現 - 数量詞

正規表現- 数量詞

1 概要

いわゆる数量詞は、回数文字(文字セット)の繰り返しを記述するために使用されるものとして理解することができます。例えば、 11 桁の電話番号、正規表現を用いて、トップ3つの固定組合せを考慮しないように書かれました:

\ D \ D \ D \ D \ D \ D \ D \ D \ D \ D \ dは

どこ dを繰り返し、11 回、非常に不便を私たちは数量詞を導入しましたので、式は簡単のように書くことができます。

\ D {11}

分類器の説明はまた、長さの範囲、フォームサポート {M、N} Mを、およびnは2つの整数の数学的に等価である[M、N] 例えば、\ D {1,11} 数値文字列を表します最短の長さは1つの文字、最大11の文字。

 

[注] {M、N} であるN 書き込ま省略する{M} 少なくとも文字が表示され表すm個の時間を、そして上限はありません。

2つの一般的な数量表現

一般的に数量詞で使用されるいくつかの技術がありますが、彼は数量詞が速記戦略と同等のものを作ると述べました。

 

3

メタ特殊文字そのドットが改行一致させることができます除く(ドット)、nは数字、文字その他の記号を含め、すべての文字の外側を。すべての文字と一致するように、実際に必要ならば、ドットが使用して、最初の章や話を使用して、ケースシングルラインパターンマッチングに使用することができる[\ S \ S]を

 

4つのマッチング数量

数量の導入はすべて貪欲数量詞に分類することができます前に、正規表現の数量は、いくつかのカテゴリに分けることができ、それがポリシーに一致している:疑いで、一致する最初の試みと一致するか否かの場合には、フォローアップアクションを実行します。

ワイルドカードのための貪欲が存在するがあるので(を除く \ N- )ポイント数が表現して、(例えば、文字列の終わりのような)部分を一致させるために、我々はこの試合を放棄する必要があり、この時間を持つべきではない試合に思われます一部が一致してみてください。これは、バックトラックとして知られているプロセスです。

 

5 怠惰な数量詞

代わりに、時に不確実性の時間に合わせて、怠惰な数量として知られていると一致しないことを選択しました。式はバックトラックの運転を満たしていないの後ろ部分一致の使用を探検。

一般に、マッチングの優先順位で使用される数量詞は、上記次のように、それらは、怠惰な対応する数量です。

 

怠惰な数量を脱出する[注]すなわち、フロントとリアの二つの部分が含まれる *?エスケープです\ * \?+?エスケープされているように\ + \ ?, ?? のようにエスケープ\?\?

この記事は私に従うことができるように、私はあなたの懸念が私のモチベーションです更新、更新していきます!より多くのための Javaの学習教材にもプライベートの手紙のIかもしれません!

おすすめ

転載: www.cnblogs.com/heqingxiaohuo/p/12180735.html