一个不正常的正则表达式,用于从页面中获取标题

时间:2010-08-24 17:08:41

标签: c# .net regex greedy

我希望使用C#获取网页的标题。所以我正在请求该页面并获取响应页面并使用正则表达式来提取标题。

string regex = @“(?< =)([\ s \ S] *)(?=)/”;

但我看到一个网站有两个标题,如

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

所以当我使用上面的Regex时,我得到了标题

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

我知道正则表达式是贪婪的。如何将正则表达式修改为ungreedy以便它给我“页面标题”?

2 个答案:

答案 0 :(得分:5)

要取消对* *?的使用,您可以使用{{1}}

答案 1 :(得分:2)

(?<=(<\s*title\s*>))((\s|\S)*?)(?=<\s*\/\s*title\s*>)