{69}
  CUSP_CONSUMPTION_SERVICE:array[0..3,0..1] of string=(
           {0}('消费服务项ID','CONSUMPTION_SERVICE_ID'),
           {1}('消费服务项名称','CONSUMPTION_SERVICE_NAME'),
           {2}('消费服务项费用','CONSUMPTION_SERVICE_COST'),
           {3}('备注','REMARK')
    );
 //映射表
  Config: array[0..70, 0..1] of string = (
                {0}('0', 'SPGZ'),
                {1}('1', 'CUSP_MESSAGE_PARA'),
                {2}('2', 'CUSP_COMMON_MESSAGE_TYPE'),
                {3}('3', 'CUSP_SYSTEM_STATUS'),
                {4}('4', 'CUSP_MEMBER'),
                {5}('5', 'CUSP_SERVICE_INFOMATION'),
                {6}('6', 'CUSP_SERVICE_PACKAGES'),
                {7}('7', 'CUSP_VEHICLEBRAND'),
                {8}('8', 'CUSP_VEHICLESERIES'),
                {9}('9', 'CUSP_VEHICLEMODEL'),能不能直接选取 SPGZ CUSP_MESSAGE_PARA CUSP_COMMON_MESSAGE_TYPE这我写的 呵呵 不行(?='[0-9]+'), {1,}'[a-zA-Z_]+'

解决方案 »

  1.   

    healer_kx 
    甘草 
    等 级: 
     发表于:2008-02-26 12:54:43 1  楼  得分:  
    Pascal    
     ===============================
    咋了?
      

  2.   

    yami251139 
    一學daonet我就倒一用daonet就輪到它倒下去了 
    等 级: 
     发表于:2008-02-26 13:02:32 3  楼  得分:  
    你 
    能不能說下要求啊 
     
    ============================
    就是匹配 '0' '1' '2'...后面的字符
                                         {0}('0',   'SPGZ'), 
                                    {1}('1',   'CUSP_MESSAGE_PARA'), 
                                    {2}('2',   'CUSP_COMMON_MESSAGE_TYPE'), 
                                    {3}('3',   'CUSP_SYSTEM_STATUS'), 
                                    {4}('4',   'CUSP_MEMBER'), 
                                    {5}('5',   'CUSP_SERVICE_INFOMATION'), 
                                    {6}('6',   'CUSP_SERVICE_PACKAGES'), 
                                    {7}('7',   'CUSP_VEHICLEBRAND'), 
                                    {8}('8',   'CUSP_VEHICLESERIES'), 
                                    {9}('9',   'CUSP_VEHICLEMODEL'), 
      

  3.   

    healer_kx 
    甘草 
    等 级:
     发表于:2008-02-26 13:16:535楼 得分:0 
    {   0   }这个是注释,别人都不知道我帮你看看 
     =====================================================
    谢谢
      

  4.   

    你是Delhpi嘛? 如果是Delphi,你应该用StringTable。
      

  5.   

    怎么又来了啊?import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
        
        public static void main(String[] args) {
            String str = "{69}\n" +
                    "  CUSP_CONSUMPTION_SEVICE:aay[0..3,0..1] of sting=(\n" +
                    "        {0}('消费服务项ID','CONSUMPTION_SEVICE_ID'),\n" +
                    "        {1}('消费服务项名称','CONSUMPTION_SEVICE_NAME'),\n" +
                    "        {2}('消费服务项费用','CONSUMPTION_SEVICE_COST'),\n" +
                    "        {3}('备注','EMAK')\n" +
                    "    );\n" +
                    "  //映射表\n" +
                    "  Config: aay[0..70, 0..1] of sting = (\n" +
                    "            {0}('0', 'SPGZ'),\n" +
                    "            {1}('1', 'CUSP_MESSAGE_PAA'),\n" +
                    "            {2}('2', 'CUSP_COMMON_MESSAGE_TYPE'),\n" +
                    "            {3}('3', 'CUSP_SYSTEM_STATUS'),\n" +
                    "            {4}('4', 'CUSP_MEMBE'),\n" +
                    "            {5}('5', 'CUSP_SEVICE_INFOMATION'),\n" +
                    "            {6}('6', 'CUSP_SEVICE_PACKAGES'),\n" +
                    "            {7}('7', 'CUSP_VEHICLEBAND'),\n" +
                    "            {8}('8', 'CUSP_VEHICLESEIES'),\n" +
                    "            {9}('9', 'CUSP_VEHICLEMODEL'),";
            Pattern pattern = Pattern.compile("\\{(\\d)+?\\}\\('\\1',\\s*?'(.+?)'");
            Matcher matcher = pattern.matcher(str);
            while(matcher.find()) {
                System.out.println(matcher.group(1) + " --> " + matcher.group(2));
            }
        }
    }
      

  6.   

    bao110908 
    火龙果 
    等 级:
     发表于:2008-02-26 13:28:539楼 得分:0 
    怎么又来了啊? 
     
     
    ===================
    嘿嘿 我这几天在整正则表达式
      

  7.   

    ....
    看到的時候是8樓
    點進來的時候是8樓
    點進來以后變成9樓了
    bao你的手速又變快了啊
    apm是不是超過580了??
      

  8.   

    bao110908   
    火龙果 
    ==============
    你的方法是匹配 
     {0}('0', 'SPGZ'
     {1}('1', 'CUSP_MESSAGE_PARA'
     。。我要的是只想匹配 'SPGZ' 'CUSP_MESSAGE_PARA' 。。
     
      

  9.   

    什么注释?不是只要红色的部分吗?{0}('0', 'SPGZ'), 
    {1}('1', 'CUSP_MESSAGE_PARA'),
      

  10.   

    bao110908 
    火龙果 
    等 级: 
     发表于:2008-02-26 13:35:36 16  楼  得分:  
    什么注释?不是只要红色的部分吗? {0}('0',   'SPGZ'),   
    {1}('1',   'CUSP_MESSAGE_PARA'), 
    ==============================
    是的 我只要红色部分
     
      

  11.   

    楼主的问题,显然不是应该用正则去匹配的,我估计是你跟别人说你想匹配,别人就告诉你正则。
    你应该用StringTable,还是StringMap来做这个事情,我很久不碰PACSAL了。忘记一些类名了
      

  12.   

    healer_kx 
    甘草 
    等 级: 
     发表于:2008-02-26 13:42:45 18  楼  得分:  
    楼主的问题,显然不是应该用正则去匹配的,我估计是你跟别人说你想匹配,别人就告诉你正则。 
    你应该用StringTable,还是StringMap来做这个事情,我很久不碰PACSAL了。忘记一些类名了 
     
    =======================================
    不是的 是我想通过正则表达式匹配的,这几天自己也在学正则  我也会去试试delphi的 谢谢  
      

  13.   

    你试试看这个,不过向后的零宽度匹配要指定最大值,这里设为了最多10个数字。(?<='[0-9]{1,10}',\\s').+?(?='\\),)
      

  14.   

    bao110908 
    火龙果 
    等 级: 
     发表于:2008-02-26 14:01:47 21  楼  得分:  
    你试试看这个,不过向后的零宽度匹配要指定最大值,这里设为了最多10个数字。 
     
    =======================
    好的 谢谢