这样的正则怎么写啊!
这样的正则怎么写啊!怎么才能获取到下面的 湖南地图 湖南电视 湖南电视台
<TR>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">湖南地图</A></TD>
<TD>624 <SPAN class=up>↑ +11%</SPAN></TD>
<TD>0 <SPAN class=dn>↓ -100%</SPAN></TD>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">查看</A></TD>
<TD> </TD></TR>
<TR>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">湖南电视</A></TD>
<TD>181 <SPAN class=dn>↓ -25%</SPAN></TD>
<TD>6 <SPAN class=dn>↓ -54%</SPAN></TD>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">查看</A></TD>
<TD> </TD></TR>
<TR>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">湖南电视台</A></TD>
<TD>896 <SPAN class=dn>↓ -8%</SPAN></TD>
<TD>6 <SPAN class=dn>↓ -54%</SPAN></TD>
<TD><A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">查看</A></TD>
<TD> </TD></TR>
--------------------编程问答-------------------- <TR>[\s\S]*?href=".*?>(.*?)<
恭喜你,共匹配到数据有3项
编号 组名
第1个组的组名为: 0
所匹配的结果如下:
1、 <TR>
<TD> <A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC">湖南地图 <
2、 <TR>
<TD> <A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3">湖南电视 <
3、 <TR>
<TD> <A
href="http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8">湖南电视台 <
第2个组的组名为: 1
所匹配的结果如下:
1、 湖南地图
2、 湖南电视
3、 湖南电视台
自己写的regex测试工具..还8错吧..呵呵! --------------------编程问答-------------------- 上面的朋友能详细点吗
--------------------编程问答--------------------
--------------------编程问答-------------------- try this
using System;
using System.Text.RegularExpressions;
public class Test
{
static void Main()
{
string strHtml = @"<TR>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC"">湖南地图 </A> </TD>
<TD>624 <SPAN class=up>↑ +11% </SPAN> </TD>
<TD>0 <SPAN class=dn>↓ -100% </SPAN> </TD>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%D8%CD%BC"">查看 </A> </TD>
<TD> </TD> </TR>
<TR>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3"">湖南电视 </A> </TD>
<TD>181 <SPAN class=dn>↓ -25% </SPAN> </TD>
<TD>6 <SPAN class=dn>↓ -54% </SPAN> </TD>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3"">查看 </A> </TD>
<TD> </TD> </TR>
<TR>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8"">湖南电视台 </A> </TD>
<TD>896 <SPAN class=dn>↓ -8% </SPAN> </TD>
<TD>6 <SPAN class=dn>↓ -54% </SPAN> </TD>
<TD> <A
href=""http://index.baidu.com/main/word.php?word=%BA%FE%C4%CF%B5%E7%CA%D3%CC%A8"">查看 </A> </TD>
<TD> </TD> </TR> ";
MatchCollection mc = Regex.Matches(strHtml, @"<TR>[\s\S]*?href="".*?>(.*?)</", RegexOptions.IgnoreCase);
for (int i = 0; i < mc.Count; i++)
{
Console.WriteLine(mc[i].Groups[1].Value);
}
//湖南地图
//湖南电视
//湖南电视台
Console.ReadKey();
}
}
(?<=<[Aa][^>]*>)[^<>]*(?=</[Aa]>) --------------------编程问答--------------------
YourStr = 你帖子里说的那个测试字符串;
MatchCollection mc = Regex.Matches(YourStr,@"(?<=<TR>\s*<TD>\s*<[Aa][^>]*>)[^<>]*(?=</[Aa]>)");
foreach(Match m in mc)
{
MessageBox.Show(m.Value);
}
补充:.NET技术 , C#