您的位置:首页 > 编程语言 > C#

用C#用正则如何提取出标签a中的内容

2014-03-10 15:10 204 查看
如提取

<td class="browseEntryData">

<a name='anchor_3'></a> <a href="/search~S0*chx?/twavelet/twavelet/1%2C61%2C64%2CB/frameset&FF=twavelet+analysis+and+its+applications&1%2C1%2C">Wavelet analysis and its applications</a>  

</td>

中href的内容/search~S0*chx?/twavelet/twavelet/1%2C61%2C64%2CB/frameset&FF=twavelet+analysis+and+its+applications&1%2C1%2C 

和Wavelet analysis and its applications

谢谢了!

急用

Match mc=Regex.Match(您的数据,@"<a href=""([^>]+?)"">([^<]+?)</a>",RegexOptions.Multiline);

string href=mc.Group[1].Value;

string data=mc.Group[2].Value;

追问根据您的意思 <a href=""([^>]+?)"">([^<]+?)</a>是与我想要内容的匹配表达式?

那么 Regex s = new Regex("<a href=""([^>]+?)"">([^<]+?)</a>");

            if (s.IsMatch(tempstr))

            {

                foreach (Match item in s.Matches(tempstr))

                {

                    tempstr = item.Groups[1].Value;

                }

            }

其中tempstr是我的数据 

这个对吗

不对。

("<a href=""([^>]+?)"">([^<]+?)</a>"这里错

  foreach (Match item in s.Matches(tempstr))这里错,

直接用我上面的吧。

恩 我用了 提取出来了 谢谢你

不过还有一个问题 我上面的这个文本只是html的一部分  我想把文件里的这些链接和书名都提取出来 怎么办呢 是不是加个循环 但是我不知道怎么写

var matches=REgex.Matches(您的数据,@"<a href=""([^>]+?)"">([^<]+?)</a>",RegexOptions.Multiline);

foreach(Match mc in matches)

{

string href=mc.Group[1].Value;

string data=mc.Group[2].Value; 

}

这个程序输入之后显示这样的错误了

E:\yingyongchengxu\WindowsApplication10\WindowsApplication10\Form1.cs(89,13): 错误 CS0246: 找不到类型或命名空间名称“var”(是否缺少 using 指令或程序集引用?)

MatchCollection代替

太感谢您了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则 标签 数据 html