我要匹配下面这样的字符串3      S    WDARS1  SYS1.IBM.PARMLIB恳请大家帮忙!!

解决方案 »

  1.   

    同意1楼,说下规律或规则,否则只是一个实例,最标准的正则表达式就是这样的3      S    WDARS1  SYS1.IBM.PARMLIB
      

  2.   

    局部数据
     WD11     RESPONSES ---------------------------------------------------
     IEE251I 10.23.34 PARMLIB DISPLAY 716
      PARMLIB DATA SETS SPECIFIED
      AT IPL
      ENTRY  FLAGS  VOLUME  DATA SET
        1      S    WD1CT1  SYS2.CCB.PARMLIB
        2      S    WD1CT1  SYS1.PARMLIB
        3      S    WDARS1  SYS1.IBM.PARMLIB
     WD12     RESPONSES ---------------------------------------------------
      

  3.   

    -_-#...
    (\w+\s+){3}[\w.]+只给实例,不给规则,那就这样吧
      

  4.   

    把程序贴出来
            public override string[] DecoderFile(string filePath)
            {
                ///关键行——有用数据的区域
                ///数据行——有用数据所在的行
                ArrayList result = new ArrayList();
                DocumentOperate.DocumentOperate.FilePath = filePath;
                string[] txtStr = new DocumentOperate.FileReader().ScrString;
                int cruxLine = 0;//保存数据行行号
                for (long i = 0; i < txtStr.LongLength; i++)
                {
                    //定位到关键行!
                    if (txtStr[i].Trim().Substring(0, 4).Equals("WD11") && txtStr[i + 3].Trim().Equals("AT IPL"))
                    {
                        cruxLine = (int)i + 5;//关键行后5行为数据行
                        break;
                    }
                }
                ///数据行数据规则 去掉左右空格以后 整数 1个或多个空格 字母 1个或多个空格 字母数字组合 1个或多个空格 字母数字以及标点
                //表达式写在@" "zhong!
                for (int i = cruxLine;!Regex.IsMatch(txtStr[i],@" ");i++)
                {
                    result.Add(txtStr[i]);
                }
                return (string[])result.ToArray(typeof(string));
            }
      

  5.   

    那其实这样写就可以的^\s*(\w+\s+){3}[\w.]+\s*$按规则,稍严格点的,这样^\s*[0-9]+\s+[a-zA-Z]+\s+[0-9a-zA-Z]+\s+[0-9a-zA-Z.]+\s*$不过看你的程序,没必要这样麻烦的,直接提取不好吗
      

  6.   

    没说规则
    3      S    WDARS1  SYS1.IBM.PARMLIB3: 一定是数字?可以为几位?
    S: 一定是一个字母?固定为”S“?
    WDARS1: 字符个数固定?
    SYS1.IBM.PARMLIB : 中间有点数固定?楼主你不给出规则别人又怎么帮你写些严格点的正规呢
    写些简单的可以匹配你给出的例子,但不一定匹配其他例子,
    到头来只是害了你