http://gskinner.com/RegExr/によると、HTMLタグを検索するための正規表現パターンが提供されています。
A) <[^<]+?>
-一致するHTMLタグの簡略化された例
動作しますが、以下のように正規表現パターンを変更しましたが、動作します。
B) <[^<]+>
またはC) <[^<]+.>
A)、B)、C)の違いは何ですか?
ありがとう
http://gskinner.com/RegExr/によると、HTMLタグを検索するための正規表現パターンが提供されています。
A) <[^<]+?>
-一致するHTMLタグの簡略化された例
動作しますが、以下のように正規表現パターンを変更しましたが、動作します。
B) <[^<]+>
またはC) <[^<]+.>
A)、B)、C)の違いは何ですか?
ありがとう
+?
怠惰として知られているものです。レイジーマッチングは、可能な限り少ない文字に一致します。たとえば、<[^<]+?>
given<blah>>
は、可能な限り少ない文字と一致するため、一致する可能性がある場合<blah>
でも一致します。<blah>>
逆に、+
貪欲として知られており、可能な限り最も可能な文字と一致します。<blah>>
正規表現を満たすことができるのはそれが最も一致するため、一致します。
.
は「何にでも一致する」を意味する文字であり、それ自体(その後に+、*などがない)は「何にでも一致する」を意味します。.
in+.
は、を変更しません。+
これは新しい要素です。
ご覧のとおり+?
、HTMLタグは最初に検出されたときに閉じるために使用し、HTMLタグを閉じることができるとすぐに終了することでこれ>
を反映します。+?