本帖最后由 yaotomo 于 2014-05-25 22:01:36 编辑

解决方案 »

  1.   

    ((\w+(,\w+))((\w+(,\w+)))+)(\|((\w+(,\w+))((\w+(,\w+)))+))+
      

  2.   

    下面的代码测试总是提示格式不正确,请大神帮忙看一下
    string strRegex1 = @"((\w+(,\w+))((\w+(,\w+)))+)(\|((\w+(,\w+))((\w+(,\w+)))+))+";
    string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016";
     if (!Regex.IsMatch(strTest, strRegex1))
     {
       MessageBox.Show("格式不正确!");
      }
     else
     {
       MessageBox.Show("格式正确!");
    }       
      

  3.   

    string strRegex1 = @"\w+(,\w+){4};\w+,\w+(\|\w+(,\w+){4};\w+,\w+)*";
                string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016";
                if (!Regex.IsMatch(strTest, strRegex1))
                {
                    Console.WriteLine("error");
                }
                else
                {
                    Console.WriteLine("ok");
                }
      

  4.   

    第二个正则
    \w+(,\w+){4};\w+,\w+\*\w+,\w+(\|\w+(,\w+){4};\w+,\w+\*\w+,\w+)*
    如果XX*XX的部分一定为数字的话就用这个
    \w+(,\w+){4};\w+,\d+\*\d+,\w+(\|\w+(,\w+){4};\w+,\d+\*\d+,\w+)*
      

  5.   

    [0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+(\|[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+)*[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+\*[0-9a-zA-Z]+,[0-9a-zA-Z]+(\|[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};;[0-9a-zA-Z]+,[0-9a-zA-Z]+\*[0-9a-zA-Z]+,[0-9a-zA-Z]+)*
      

  6.   

    谢谢楼上两位,但是只能匹配一个单元比如第一个
    4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016
    可以匹配把第一个单元修改为不符合格式的字符串
    4L03583456,240,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016也是可以通过的
      

  7.   

    ^\w+(,\w+){4};\w+,\w+(\|\w+(,\w+){4};\w+,\w+)*$^\w+(,\w+){4};\w+,\w+\*\w+,\w+(\|\w+(,\w+){4};\w+,\w+\*\w+,\w+)*$