>RT HW5QLT                                                       
1.王 2.张 HW5QLT                                                       
3.MU2413 Y   MO29OCT  LHWCTU HK2   0800 0925          E --T2
6.SSR FOID MU HK1 NI411302198204060850/P2                               
7.SSR FOID MU HK1 NI4512656/P1 
请问怎么把1.和7.以及2.张和6.关联关联的条件/P1等于1.  /p2等于2.      

解决方案 »

  1.   

    string s = @">RT HW5QLT   
    1.王 2.张 HW5QLT   
    3.MU2413 Y MO29OCT LHWCTU HK2 0800 0925 E --T2
    6.SSR FOID MU HK1 NI411302198204060850/P2   
    7.SSR FOID MU HK1 NI4512656/P1";
    MatchCollection matches = Regex.Matches(s, @"(?s)(?<=(\w{6}).*?)(?<number>\d+)\.\w+\s*(?=.*?\1)");
    foreach (Match match in matches)
    {
    Match m = Regex.Match(s, @"\d+.+?/P" + match.Groups["number"].Value);
    Response.Write(m.Value + "<br/>");
    }
    7.SSR FOID MU HK1 NI4512656/P1
    6.SSR FOID MU HK1 NI411302198204060850/P2
      

  2.   

    这个方法我试了一下。如果改为
    RT HW5QLT   
    1.王 2.张 3.李 HW5QLT   
    4.MU2413 Y MO29OCT LHWCTU HK2 0800 0925 E --T2
    5.SSR FOID MU HK1 NI411302198204060850/P3   
    6.SSR FOID MU HK1 NI4512656/P1
    这样的话,结果会出来一个空行。。我后来想了一个办法。先抓取P后边的数字,然后用数字去找前边名字前边的数字