数据为一行一行的文本,读取每行的文字做分析
PO 000050770783 300 301
PO 000050770784 300 301 302 303
PO 000050770785 300 301 304
PO 000050770786 300其中PO代表操作,空格后面的000050770783 代表一个用户(数字组成的字串),它的空格后面就是产品代码(数字组成的字串),用空格分开,有一个或多个;请教各位,怎么样运用正则表达式才能打印出来以下效果(以第一行为例)
OPT=PO
USER=000050770783
PRODUCT(0)=300
PRODUCT(1)=301谢谢!

解决方案 »

  1.   

    一定要正则式么?
    如果不是,编程上可以直接调用一个splits方法,使用空格将他们切分开来就可以了
      

  2.   

    可以不用正则式:
    public   class   Test  { 
        
        public   static   void   main(String[]   arg)  {
           String a = "PO   000050770784   300   301   302   303 ";
           String[] b = a.split(" +");
           String OPT = b[0];
           String USER = b[1];
           System.out.println("OPT=" + OPT);
           System.out.println("USER=" + USER);
           
           String[] PRODUCT = new String[b.length - 2];
           for(int i = 0; i < PRODUCT.length; i++) {
              PRODUCT[i] = b[i+2];
              System.out.println("PRODUCT(" + i + ")=" + PRODUCT[i]);
           }
        }