2

私は2つの正規表現を持っています:

«(\w+\.)+?»

«(\w+\.)+»

最初のものはパターンの最小値を見つけようとするだろうと思いますが、次のものはわかりません。

誰かが何か考えがありますか?

4

2 に答える 2

4

これは「貪欲」対「非貪欲」と呼ばれます。ここに概要があります。

もっと簡単なことを考えてみましょう:

.+?\s

テキストがこの文の場合、最初の例は「If」に一致します。修飾子は、可能な限り最小の一致を探します。

.+\s

この文が 2 番目の例で一致している場合、最大の一致であるため、文全体 (. まで) が返されます。

于 2012-04-21T20:40:41.237 に答える
1

これは貪欲な正規表現と貪欲でない正規表現の例です。(これはJavaドキュメントでカバーされています)

http://docs.oracle.com/javase/tutorial/essential/regex/quant.html

于 2012-04-21T20:43:45.723 に答える