У меня есть следующее очень простое регулярное выражение, которое соответствует HTML-тегам в строке. У меня есть параметр, нечувствительный к регистру, так что капитализация тегов не имеет значения. Однако, когда параметр «скомпилирован» установлен, опция «IgnoreCase», похоже, игнорируется.Параметр Regex 'Ignore Case' не работает, если указан параметр «Скомпилированный»
Пример кода:
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>
ли кто-нибудь получил представление о том, что происходит здесь?
Помимо вопроса, не будет "' '?span>" быть лучше регулярное выражение? – Hinek
Да, подумав еще,?span>, вероятно, лучше. – John