数据格式如下:
Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 6000 bits/sec, 12 packets/sec
  5 minute output rate 1000 bits/sec, 1 packets/sec
     8078727 packets input, 567201166 bytes求通过正则表达式获取数据为
5 minute input rate 6000 bits/sec, 12 packets/sec
5 minute output rate 1000 bits/sec, 1 packets/sec这里值得注意的是 第一行 里面的 6000 和 12 是不固定数字可能会变大或变小,第二行的1000 和 1 也是如此。string str = 我想要的数据。请高手指教 谢谢。

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Text;
    using System.Text.RegularExpressions;
    public partial class Temp_TS2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string TempString = @"Output   queue   0/40,   0   drops;   input   queue   0/75,   0   drops
        5   minute   input   rate   6000   bits/sec,   12   packets/sec
        5   minute   output   rate   1000   bits/sec,   1   packets/sec
              8078727   packets   input,   567201166   bytes ";        // 定义字符串
            Regex Re = new Regex(@"rate(.*?)bit.*?,(.*?)pack");
            //正则
            MatchCollection Mc = Re.Matches(TempString);
            //        foreach (Match M in Mc)
            {
                Response.Write(M.Groups[1].Value.Trim()+" ");
                Response.Write(M.Groups[2].Value.Trim()+" ");
                Response.Write("<br/>");
            }        Response.Write("<br/><br/><br/>");
        }
      

  2.   

    我要得到的数据为
    5   minute   input   rate   6000   bits/sec,   12   packets/sec 
    5   minute   output   rate   1000   bits/sec,   1   packets/sec 这里值得注意的是   第一行   里面的   6000   和   12   是不固定数字可能会变大或变小,第二行的1000   和   1   也是如此。 string   str   =   我想要的数据。请高手指教   谢谢。 
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text.RegularExpressions;class Test
    {
      static void Main()
      {
        string s0 = @"
    Output   queue   0/40,   0   drops;   input   queue   0/75,   0   drops 
        5   minute   input   rate   6000   bits/sec,   12   packets/sec 
        5   minute   output   rate   1000   bits/sec,   1   packets/sec 
              8078727   packets   input,   567201166   bytes";
        Match m = Regex.Match(s0, @".*input\s+rate.*\n.*output\s+rate.*");
        string str = m.Value;
        Console.WriteLine(str);
      }
    }