如何用正则表达式匹配这个“ 数据包: 已发送 = 4,已接收 = 2,丢失 = 2 (50% 丢失),”

willyouasd 2011-11-08 03:11:49
如何用正则表达式匹配
数据包: 已发送 = 4,已接收 = 2,丢失 = 2 (50% 丢失),

最短 = 8ms,最长 = 58ms,平均 = 33ms

我想用ping做网络测速
发现用这个不行:
private static Regex _reg = new Regex(@"最短 = \d+ms, 最长 = \d+ms, 平均 = \d+ms", RegexOptions.Multiline | RegexOptions.IgnoreCase);
...全文
1955 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2011-11-08
  • 打赏
  • 举报
回复
try

MatchCollection mc = Regex.Matches(yourStr,@"(最短|最长|平均)\s*=\D+\d+");
foreach(Match m in mc)
{
m.Value;//不知道是不是你要的
}
  • 打赏
  • 举报
回复
问题的原因是 原文中是 中文状态下的,

而你的正则中却是非中文状态下的,从而导致,无法匹配成功
dalmeeme 2011-11-08
  • 打赏
  • 举报
回复
检查下编码是gb2312的还是utf8的,设置下。
Bullatus 2011-11-08
  • 打赏
  • 举报
回复
你是直接复制ping出来的内容,然后将数字部分改成\d+这样做的吗?
willyouasd 2011-11-08
  • 打赏
  • 举报
回复
Matches出来是空,不知道出了什么问题
求解
dalmeeme 2011-11-08
  • 打赏
  • 举报
回复
你写的没错吧,注意其中包含中文,是否编码集设置错了,检查一下。

111,119

社区成员

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

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

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