首页 新闻 会员 周边

.net 用正则取 "<a href='www.baidu.com'>百度</a>" 中的href和百度

0
悬赏园豆:10 [已解决问题] 解决于 2013-07-04 11:28

.net 用正则取 "<a href='www.baidu.com'>百度</a>" 中的href和百度

lllhhu的主页 lllhhu | 初学一级 | 园豆:3
提问于:2013-06-28 17:33
< >
分享
最佳答案
0

现写了一个,测试通过,保证有用

var text = "<a class='link' href='www.baidu.com' target='_blank'>百度</a>";
var groups = Regex.Match(text, @"<a.*? href=['""]([^'""]+)['""][^>]*>([^<]+)</a>").Groups;
Console.WriteLine(groups[1].Value);
Console.WriteLine(groups[2].Value);
收获园豆:10
dudu | 高人七级 |园豆:30994 | 2013-06-28 18:03

看着正则,我就头大,晦涩难懂。请问有啥好的方式学这玩意?我每次要用就去百度下或者查看自己搜集的部分正则。

幻天芒 | 园豆:37175 (高人七级) | 2013-06-29 10:22

@幻天芒: 我当时是通过阅读《精通正则表达式》学习的

dudu | 园豆:30994 (高人七级) | 2013-06-29 11:02

这个确实可以,哈哈,如果我只是取href中有特定字符串的该怎么写,比如我只想要href中包括"file"字符的。

lllhhu | 园豆:3 (初学一级) | 2013-06-29 13:34
其他回答(2)
0

建议使用NSoup。

写代码的小2B | 园豆:4371 (老鸟四级) | 2013-06-28 17:39

没有用过这个插件,百度了下也没有找到合适的解决方法,烦请给出样例

支持(0) 反对(0) lllhhu | 园豆:3 (初学一级) | 2013-06-28 17:44

@lllhhu: 

var doc = new NSoup.Nodes.Element(NSoup.Parse.Tag.ValueOf("Root"), String.Empty);
            doc.Append("<a href='www.baidu.com'>百度</a>");

            var element = doc.Children.First;

            Console.WriteLine(element.Attr("href"));

            Console.WriteLine(element.Text());

            Console.ReadKey();
支持(0) 反对(0) 写代码的小2B | 园豆:4371 (老鸟四级) | 2013-06-28 17:57
0

除了正则,还可以将字符串,用xml的方式加载,然后获取属性等~

幻天芒 | 园豆:37175 (高人七级) | 2013-06-29 10:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册