正则表达式求助

niesen111 2010-09-22 10:49:20
href=\"http://t.sina.com.cn/1257866011/wr0nXUadCl\"><STRONG lang=CL1005>原文转发</STRONG><STRONG type=\"rttCount\" rid=\"201100921262435629\">(250)</STRONG></A><SPAN class=MIB_line_l>|</SPAN><A href=\"http://t.sina.com.cn/1257866011/wr0nXUadCl\"><STRONG lang=CC0603>原文评论</STRONG><STRONG type=\"commtCount\" rid=\"201100921262435629\">(287)</STRONG></A></SPAN></P>\r\n<DIV
求救:原文转发的数字250,原文评论的数字287如何匹配?
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2010-09-22
  • 打赏
  • 举报
回复
这已经是捕获组了,非要写成命名捕获组?

Regex reg = new Regex(@"(?s)原文转发(?:<[^>]*>)*\((?<transmit>\d+)\).*?原文评论(?:<[^>]*>)*\((?<comment>\d+)\)");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["transmit"].Value + "\n";
richTextBox2.Text += m.Groups["comment"].Value + "\n";
}
niesen111 2010-09-22
  • 打赏
  • 举报
回复
如何写成捕获的形式呢?
-过客- 2010-09-22
  • 打赏
  • 举报
回复
try...

Regex reg = new Regex(@"(?s)原文转发(?:<[^>]*>)*\((\d+)\).*?原文评论(?:<[^>]*>)*\((\d+)\)");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[1].Value + "\n";
richTextBox2.Text += m.Groups[2].Value + "\n";
}
bingshanzhiling 2010-09-22
  • 打赏
  • 举报
回复
这其中只有两个()组,直接匹配这两个就可以了啊

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧