急求,正则表达式 感谢先

lankawangzi 2007-07-29 04:39:11
<a id=\"biz_Server\" href=\"/a.shtml?&ga=1111&gs=2222\">谢谢</a>
这样一段字符串,取中间的谢谢,然后ga=1111,和gs=2222,1111,和2222是不确定的值,是一个四位的数字,这样,要取谢谢,正则表达式,要怎么写,感谢先,请指点。
...全文
229 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdzr_826 2007-07-31
  • 打赏
  • 举报
回复
顶-过客
jhobo 2007-07-31
  • 打赏
  • 举报
回复
/\d{0000, 9999}/
兔子-顾问 2007-07-31
  • 打赏
  • 举报
回复
测试不通过的你帖出来。别人才知道还有什么特殊情况。按你描述的,过客兄的正则应该是没问题的哦。
lankawangzi 2007-07-31
  • 打赏
  • 举报
回复
我试了一下,然后ga=1111中的1111是个别说的时候可以取出来,这些数没有规律
lankawangzi 2007-07-29
  • 打赏
  • 举报
回复
谢谢,学习,中,我试一下。
-过客- 2007-07-29
  • 打赏
  • 举报
回复
这个并不是绝对的,关于这个话题,可以参考这篇文章中的2. 非贪婪匹配的效率

http://www.regexlab.com/zh/regtopic.htm

兔子-顾问 2007-07-29
  • 打赏
  • 举报
回复
To 过客:
请教下:
[^<]*
这里为什么不用[^<]+?呢?

你这个正则里用了很多*,不是贪婪搜索效率不高么?
-过客- 2007-07-29
  • 打赏
  • 举报
回复
try

string test = "<a id=\"biz_Server\" href=\"/a.shtml?&ga=1111&gs=2222\">谢谢</a>";
Match m = Regex.Match(test, @"<a[^>]*ga=(?<ga>\d{4})[^>]*gs=(?<gs>\d{4})[^>]*>(?<text>[^<]*)</a>", RegexOptions.IgnoreCase);
if (m.Success)
{
MessageBox.Show(m.Groups["text"].Value);
MessageBox.Show(m.Groups["ga"].Value);
MessageBox.Show(m.Groups["gs"].Value);
}

110,539

社区成员

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

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

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