2

最近、Webのどこかで、貪欲なマッチングと怠惰なマッチング*の両方とは異なる、貪欲の「第3の方法」を説明する正規表現のリファレンスを見つけました。(.*)(.*?)

私は今、SO、グーグル、さらにはブラウザの履歴を検索しようとしましたが、役に立ちませんでした。

誰かが私が見たものをよく推測できますか?


明確化:それは私にとって新しい構成(のようなもの.*+)を指し、それはその名前さえ持っていたと私は信じています(「受動的に貪欲」のようなものですが、おそらくそうではありません)。


*「ウェブ上のどこか」が「バベルの図書館」や「マンデルブロ集合」と同じくらい役立つことを感謝しますが、助けてみてください

4

6 に答える 6

5

あなたは「ポゼシブ」マッチングについて言及していると思います。Java はこのページで説明しています: http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

可能な限り貪欲に一致し、そうすることで全体的な一致が成功する場合でも、引き下がらない所有量指定子。

構文は、説明したものと同じ (.*+) です。

于 2009-02-19T20:10:32.290 に答える
4

これかな?http://www.regular-expressions.info/repeat.html

An Alternative to Laziness

In this case, there is a better option than making the plus lazy. We can use a greedy plus and a negated character class: <[^>]+>.

于 2009-02-19T19:54:13.893 に答える
2

さまざまな正規表現パッケージがあります。PCRE (Perl 互換の正規表現) は、(多かれ少なかれ) Perl、Java、PHP、およびおそらく他の言語で使用されています。PCREのマニュアル ページは、決定的なリファレンスと見なされる場合があります。アトミック グループの省略形である所有量指定子 (*+ や ++ など) について説明します。

于 2009-02-19T20:32:00.157 に答える
1

正確には参考にはなりませんが、それでもいいです。 正規表現をマスターする

O'Reilly の「参考書」もありますが、私はそれについて証言することはできません。初めて見ました。

于 2009-02-19T19:51:30.450 に答える
0

皆さん、ありがとうございました。私の記憶を取り戻すための鍵は、「受動的」ではなく「所有格」でした。

ここにいくつかの有用な参考資料があります:

于 2009-02-19T20:54:41.170 に答える
0

私は常に、この正規表現チート シートのコピーを自分のキューブに常備しています。

于 2009-02-19T20:12:47.887 に答える