ホームページ  >  記事  >  Java  >  Java 正規表現一致パターン (貪欲、消極的、所有欲)

Java 正規表現一致パターン (貪欲、消極的、所有欲)

高洛峰
高洛峰オリジナル
2017-01-09 16:19:101474ブラウズ

貪欲さ: 最大一致

X?、X*、X+、X{n,} が最大一致です。たとえば、「618b16d23a3ddab818f44e3be2c27e38」を使用して「aa34de1251f0d9fe1e645927f19a896e8aava fd273fcf5bcad3dfdad3c41bd81ad3e5abb」と一致させる場合、おそらく期待される結果は「a34de1251f0d9fe1e645927f19a896e8」と一致します。結果は「a34de1251f0d9fe1e645927f19a896e8aava fd273fcf5bcad3dfdad3c41bd81ad3e5」に一致します。

Greediness モードでは、コンテンツ全体が一致するまで、可能な限り広い範囲で一致しようとします。このとき、マッチングは成功できません。マッチングが成功するまで、小さなマッチング範囲に戻り始めます。 fat, X{n, m}? and Content

String test = "a<tr>aava </tr>abb ";
String reg = "<.+>";
System.out.println(test.replaceAll(reg, "###"));

出力: a###aava ###abb

Greediness とは異なり、Reluctant モードではコンテンツが 2 回一致します

Possessive (所有的): 完全一致
X ?+, X*+, X++ 、Greediness との違いは、正確な一致が、より狭い範囲の一致を試行することにフォールバックしなくなったことです。その他の Java 正規表現マッチング パターン (貪欲型、消極型、所有欲型) については、PHP 中国語 Web サイトにご注意ください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。