既然你的字符串是定长,而且每次取得部分的长度也是固定的,那么用string.SubString();完全可以满足要求啊!为什么要写正则表达式呢?
我比你更郁闷!?
 

解决方案 »

  1.   

    同意 storm97(风暴不再) 定长的直接用Index就好了~
      

  2.   

    你使用普通的StringBuilder类不是照样可以实现?既然是定长的字串,就很好用stirng.Find,Substring(.....)
      

  3.   

    既然是定长的,可以直接使用string.SubString()啊。。楼主不会是在练习正则表达式吧?
      

  4.   

    看来是我想错了那 判断格式是否正确总可以把因为数据来自仪器,有时会有错误
    正确的格式是  "<信息>     "    前部分是信息,后面是空格(有可能全部都是信息,没有空格)
    信息长度不定,但知道是字母或数字错误的时候会是  "  <错误信息>  <错误信息>  "
    怎么写才能判断出来?
      

  5.   

    这样如何:
    [A-Z][A-Z0-9]{35}[0-1]只写一部分其它类推
      

  6.   

    [A-Z][A-Z0-9]{35}[0-9][A-Z0-9]{71}[0-9]{5}[A-Z0-9]{5}[0-9]{12}
      

  7.   

    "[A-Z][A-Z0-9]{35}"
    这样哪能判断出有没有空格、有空格后又不能再有信息
      

  8.   

    [A-Z][A-Z0-9 ]{35}[0-9][A-Z0-9 ]{71}[0-9 ]{5}[A-Z0-9 ]{5}[0-9]{12}
    特别注意不要遗漏式子中的空格。
    其实你可以自己写一个验证正则式的小程序,当你需要使用的时候先用它来验证一下自己的正则式。
      

  9.   

    string s = @"A1ZV965426641098738                 1DDG                                                                    8399 DDG  031103025943";
      string pattern = @"^(?<A>[A-Z])(?<35>.{35})(?<aaa>\d)(?<71>.{71})(?<51>(\d|\s)+)(?<52>(\w|\s)+)(?<12>\d{12})$";
      Regex r = new Regex(pattern);
      Match m = r.Match(s);
        if(m.Success)
          {
             Console.WriteLine(m.Groups["A"].Value);
             Console.WriteLine(m.Groups["35"].Value);
             Console.WriteLine(m.Groups["aaa"].Value);
             Console.WriteLine(m.Groups["71"].Value);
             Console.WriteLine(m.Groups["51"].Value);
             Console.WriteLine(m.Groups["52"].Value);
             Console.WriteLine(m.Groups["12"].Value);
          }
      

  10.   

    纠正一下:
    string pattern = @"^(?<A>[A-Z])(?<35>([A-Z0-9]|\s){35})(?<aaa>\d)(?<71>([A-Z0-9]|\s){71})(?<51>(\d|\s){5})(?<52>(\w|\s){5})(?<12>\d{12})$";
      

  11.   

    不好意思刚刚粘错了:(
    string pattern = @"^(?<A>[A-Z])(?<35>[A-Z0-9 ]{35})(?<aaa>\d)(?<71>[A-Z0-9 ]{71})(?<51>[0-9 ]{5})(?<52>[A-Z0-9 ]{5})(?<12>\d{12})$";
      

  12.   

    原来可以用 () 来分组不错,可以截出来,也可以判断出 值 是否符合范围
    但不能过滤这样的错误  "  <错误信息>  <错误信息>  "1、想知道 . 是代表任意字符吗?
    2、有没有办法判断这样的合法性:
    "<信息>     "
    总长35字符,<信息>长不定,如果<信息>长不够35,用空格补
      

  13.   

    我现在就是用 长度+Regex 的方法来判断的
    不知道可不可以用一个 Regex 就能做到