读书人

正则表达式如何去获取网页meta内容 分

发布时间: 2012-05-20 16:03:12 作者: rapoo

正则表达式怎么去获取网页meta内容 分支条件 及在线等。。。。。
我自己写了个正则表达式获取meta标签name=keywords和name=description中content的内容
但是问题是获得内容总是2次description中的内容而没有keywords中的内容
且没有提示错误

string ss = @"<meta(\w|\W)*\=[\x27\x22]?(keywords|description)[\x27\x22]?[\s]+content\=[\x27\x22](?<1>(\w|\W)*?)(?=[\x27\x22])";

Regex reg = new Regex(ss, RegexOptions.IgnoreCase|RegexOptions.Singleline|RegexOptions.Compiled);
Match m = reg.Match(str);//str为获取的网页源码

for (int i = 0; i < 2;i++ )
{


if(m.Success)

u_meta = m.Groups["1"].Value.Trim();
// Console.Write(i+u_meta);
m.NextMatch();




}

return u_meta;//返回源码中meta中的内容
我将正则改成下面的
StringBuilder sb = new StringBuilder(@"<meta(\w|\W)*\=[\x27\x22]?[\x27\x22]?keywords[\s]+content\=[\x27\x22](?<1>(\w|\W)*?)(?=[\x27\x22])|");
sb.Append(@"<meta(\w|\W)*\=[\x27\x22]?description[\x27\x22]?[\s]+content\=[\x27\x22](?<1>(\w|\W)*?)(?=[\x27\x22])");
结果还是一样
请问下大家如何改正这个正则 同时获取meta标签name=keywords和name=description中content的内容
在线等。。。

[解决办法]
请LZ给点html代码,不然不好写

读书人网 >ASP

热点推荐