Прямых регулярных выражений может быть недостаточно , если ваш div содержит вложенные div. Это связано с тем, что закрывающий элемент div не содержит идентификатора, поэтому регулярному выражению трудно сопоставить закрывающий тег.
Если ваш div:
<div id="findme">
<!-- No other divs here! -->
</div>
Тогда вы можете использовать регулярное выражение (просто будьте осторожны с жадностью), более элегантную версию этого:
<div id="findme">(.*?)</div>
примечание: я почти уверен, что регулярное выражение не запустится, это было давно!
Я хотел бы изучить использование библиотеки синтаксического анализатора HTML для анализа структуры и получения смещений символов для внутренней части div, а затем для извлечения этого диапазона из буфера. Использование библиотеки HTML позволит вам проанализировать и найти, где заканчивается нужный вам div.
Что-то вроде , этот учебник может быть полезен. Эти парсеры, вероятно, позволят вам точно извлечь данные, заключенные в тег, такой как ваш div.
Вы также можете использовать C # HTML-парсер , все они выполняют аналогичную работу. Просто просмотрите документацию, чтобы убедиться, что они не просто строят деревья, и позволяют вам получить смещения символов для вложенных данных div (чтобы их можно было извлечь) или разрешить доступ к этим данным.