2

http://gskinner.com/RegExr/によると、HTMLタグを検索するための正規表現パターンが提供されています。

A) <[^<]+?> -一致するHTMLタグの簡略化された例

動作しますが、以下のように正規表現パターンを変更しましたが、動作します。

B) <[^<]+>またはC) <[^<]+.>

A)B)C)の違いは何ですか?

ありがとう

4

1 に答える 1

2

+?怠惰として知られているものです。レイジーマッチングは、可能な限り少ない文字に一致します。たとえば、<[^<]+?>given<blah>>は、可能な限り少ない文字と一致するため、一致する可能性がある場合<blah>でも一致します。<blah>>

逆に、+貪欲として知られており、可能な限り最も可能な文字と一致します。<blah>>正規表現を満たすことができるのはそれが最も一致するため、一致します。

.は「何にでも一致する」を意味する文字であり、それ自体(その後に+、*などがない)は「何にでも一致する」を意味します。.in+.は、を変更しません。+これは新しい要素です。

ご覧のとおり+?、HTMLタグは最初に検出されたときに閉じるために使用し、HTMLタグを閉じることができるとすぐに終了することでこれ>を反映します。+?

于 2013-03-13T04:58:13.923 に答える