Как бы я использовал регулярное выражение для анализа HTML в обычный текст - PullRequest
2 голосов
/ 12 июня 2009

Как бы я использовал регулярное выражение для анализа следующего:

<b>HelloWorld</b>
<p>This is a test</p>
<a href="myUrl">Google</a>

Необходимо удалить все HTML-теги, а URL-адреса извлечь из тегов гиперссылок, и результат должен быть:

HelloWorld
This is a test
myUrl

Ответы [ 2 ]

8 голосов
/ 12 июня 2009

Я знаю, что это не тот ответ, который вы ожидаете, но вы не должны пытаться анализировать HTML с помощью регулярных выражений. HTML - это сложный способ разбираться с помощью регулярных выражений, есть много всего, что может пойти не так. Очень сложно написать регулярное выражение, которое надежно анализирует HTML, я даже не уверен, возможно ли это.

Используйте что-то вроде Beautiful Soup или HTML Agility Pack для .NET. Или вы можете создать свой собственный парсер с генератором парсера.

1 голос
/ 12 июня 2009

Вы должны использовать парсер для этого. Регексы просто не будут делать. Вы могли бы использовать рекурсивные шаблоны регулярных выражений, но я не думаю, что они поддерживаются механизмом регулярных выражений .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...