Я немного озадачен результатами Regex (и все еще пытаюсь разобраться с синтаксисом). Я использовал http://regexpal.com/, чтобы проверить свое выражение, и оно работает там, где это было задумано, однако в C # это не так, как ожидалось.
Вот тест - выражение следующее: (?=<open>).*?(?=</open>)
на входной строке:
<open>Text 1 </open>Text 2 <open>Text 3 </open>Text 4 <open>Text 5 </open>
Я ожидаю, что результат будет <open>Text1 <open>Text 2 <open>Text 3...
и т. Д.
Однако, когда я делаю это в C #, возвращается только первое совпадение <open>Text1
Как я могу получить все пять «результатов» от Regex?
Regex exx = new Regex("(?=<open>).*?(?=</open>)", RegexOptions.IgnoreCase | RegexOptions.Singleline);
string input = "<open>Text 1</open> Text 2 <open> Text 3 </open> Text 4 <open> Text 5 </open>";
string result = Regex.Match(input, exx.ToString(), exx.Options).ToString();