Используя следующий текст в качестве образца, мне нужно иметь возможность извлекать текст между тегами LI. Обратите внимание, что первый LI намеренно неправильно сформирован, поскольку это может иметь место. Другими словами, я хочу все, от тега LI до закрывающего тега LI или следующего открывающего тега LI.
<UL>
<LI class="test">This is the first ListItem Text.
<LI>This is the second ListItem Test. </LI></UL>
Пока что я придумал:
<[Ll][Ii].*>(.*?)((?:<[Ll][Ii]>)|(?:</[Ll][Ii]>))
Но это похоже на совпадение первого тега LI до закрывающего тега как одно совпадение с группой, являющейся текстом 2-го тега LI. Мне удалось вернуть первый набор, но не оба. Я также использую опцию «Точка соответствует новой строке», и это .NET, для которой мне нужно, чтобы она работала. Спасибо!
ОБНОВЛЕНИЕ
Перед тем, как опубликовать этот вопрос, я провел некоторое исследование и действительно увидел и понял, что использование регулярных выражений для синтаксического анализа html - плохая идея. При этом мне нужно только иметь возможность получать текст из пары тегов LI здесь и там, чтобы определить, какой текст выделить на слайде PowerPoint. Я подумал, что может быть более простой способ сделать это, чем иметь дело с отдельной библиотекой, особенно когда сложно использовать сторонние библиотеки там, где я работаю. К сожалению, похоже, что HTML может иметь неправильный формат в определенных ситуациях при использовании поля ввода html форматированного текста на странице, которое позволяет маркировать текст. Спасибо за все рекомендации против использования REGEX для синтаксического анализа HTML. Я должен был заранее указать, что я уже прочитал много подобных советов, но искал быстрое решение для простого стечения обстоятельств.