日期:2014-05-17  浏览次数:20930 次

如何用正则表达式提取网页Meta 中 keywords 的 content 值
如何用正则表达式提取网页Meta 中 keywords 的 content 值.谢谢了急用,
我是这样写的,但是有的网页获取不到..很是郁闷,\

            string reg = "<meta name=\"keywords\" content=\"(?<key>\\S+?)\".+?/>";
            MatchCollection mc = Regex.Matches(str, reg, RegexOptions.IgnoreCase); //满足pattern的匹配集合
            textBox2.Text += "关键字结果为:";
            foreach (Match match in mc)
            {
                //   Console.WriteLine(match.ToString());
                GroupCollection gc = match.Groups;

                textBox2.Text += count + "\r\n";
                textBox2.Text += gc["key"].Value + "\r\n";

            }
大家帮我看看吧.谢了.
正则表达式 keywords

------解决方案--------------------

string reg = "(?<=meta name=\"keywords\" content=\").*?(?=\")";
string key_words = Regex.Match("html代码", reg).Value;

------解决方案--------------------
<meta\b[^>]*?name=\"keywords\"[^>]*?content=\"(?<key>[^"]+?)\"[^>]+?/>

Group["key"].Value
------解决方案--------------------
引用:
引用:引用:
引用:<meta\b[^>]*?name=\"keywords\"[^>]*?content=\"(?<key>[^"]+?)\"[^>]+?/>

Group["key"].Value
为什么获取不到呢..亲//什么都木有
你贴一下……


            WebClient wc = new WebClient();
            wc.Encoding = Encoding.UTF8;
            string html = wc.DownloadString("http://www.csdn.net/article/2013-01-06/2813468-Crowdfunding-Games-Dev");
            string reg = "(?<=meta name=\"keywords\" content=\").*?(?=\")";
            string key_words = Regex.Match(html, reg).Value;
            Console.WriteLine(key_words);


为什么不试试我3楼#3的代码呢?