Невероятное регулярное выражение для получения заголовка со страницы - PullRequest
0 голосов
/ 24 августа 2010

Я хочу получить заголовок веб-страницы, используя C #. Поэтому я запрашиваю эту страницу, получаю страницу ответа и использую регулярное выражение для извлечения заголовка.

string regex = @ "(? <=) ([\ S \ S] *) (? =) /"; </p>

Но я видел сайт с двумя заголовками, такими как

<title>Page Title</title>
<link href="...."/>
<title>Page Title</title>

Поэтому, когда я использую приведенное выше регулярное выражение, я получаю заголовок как

Page Title</title><link href="...."/><title>Page Title

Я знаю, что регулярные выражения жадные. Как изменить Regex как несвязного, чтобы он давал мне «Заголовок страницы»?

Ответы [ 2 ]

5 голосов
/ 24 августа 2010

Для разведения вашего * вы можете использовать *?

2 голосов
/ 25 августа 2010
(?<=(<\s*title\s*>))((\s|\S)*?)(?=<\s*\/\s*title\s*>)
...