文字列内の HTML タグに一致する次の非常に単純な正規表現があります。タグの大文字化が問題にならないように、大文字と小文字を区別しないオプションを設定しています。ただし、「コンパイル済み」オプションが設定されている場合、「IgnoreCase」オプションは無視されるようです。
サンプルコード:
string text = "<SPAN>blah</SPAN><span>blah</span>";
Regex expr1 = new Regex("</*span>", RegexOptions.IgnoreCase);
Regex expr2 = new Regex("</*span>", RegexOptions.IgnoreCase & RegexOptions.Compiled);
MatchCollection result1 = expr1 .Matches(text);
//gives 4 matches- <SPAN>,</SPAN>,<span> & </span>
MatchCollection result2 = expr2 .Matches(text);
//only gives 2 matches- <span> & </span>
ここで何が起こっているのか誰にもわかりませんか?