# 私の考えでは、start match と end match の数が同数になるように $NEST が動作していると見ています。 # end match が残り1つとなったときには、今までに読み込んだ start match を1つの start match として扱うようです。 # 入れ子は内側から解決されていくので、「今までに読み込んだ start match」として余るのは必ず外側です。
>>545 >528 の表現をよく見てください。 <a href=1> は $NEST の start match にマッチしますが、 <a href=2</a> も $NEST の start match にマッチします。 従って、$NEST(<a\s*>,</a>) では end match を探し出せず、マッチしません。 これにマッチさせるには $NEST(<a\s[^<>]+>,</a>) と書く必要があります。