1. テストパターン1(不正確なパターン) <.*?> . は、改行を除く任意の1文字。 * は、直前の表現の0回以上の繰り返しだが、 *? とすることでさらに最短一致。 よって、 < と最初の > で囲まれた任意の0文字以上の文字列のこと。 2. テストパターン2(不正確なパターン) <\/?[^>]*> \/ は、 / 文字そのもの。 / だけだと別の意味なるのでエスケープしている。 ? は、 直前の正規表現の 0 または 1 回の繰り返し。 [ ] は、文字クラス指定。 [ ] 内に列挙したいずれかの1文字。 ^ は、 [ ] 内の先頭にあれば、 [ ] 内に列挙されている指定文字以外の1文字。 * は、直前の表現の0回以上の繰り返し。 よって、< と > で囲まれ、 < の次に / が0個か1個で、残りが > 以外の文字列のこと。 言い換えれば、「テストパターン1」の <.*?>
![正規表現 - 文字列内から HTML タグを正確に判別! - mk-mode BLOG](https://cdn-ak-scissors.b.st-hatena.com/image/square/f7ce9841ccf75ba130e109c2baccc06703c814d5/height=288;version=1;width=512/https%3A%2F%2Fwww.mk-mode.com%2Fblog%2Fassets%2Fimages%2Fabout_me.png)