lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理

          正則匹配

          Posted on 2015-03-27 10:41 skycity 閱讀(218) 評論(0)  編輯  收藏 所屬分類: J2EE技術(shù)
          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

          public static String readString = "Print([QDT],[Read([SQLServer#10.176.1.178#Mas2006],[select top 1 print_model + '.jasper' as reportname from tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])],[Read([SQLServer#10.176.1.178#Mas2006],[select  Machine_No, Check_Code, Model_Packing, Start_Date, Material_Name, Material_No, IIPC_part_code, Material_Qty, Print_Order, Machine_Product_No, print_model, SoftWareName, SoftWare_No, SoftWareQty from dbo.tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])])";


          public static void splitScriptWithMethod(String script) {

          // check if args

          String subMethodReg = "";

          if(script.indexOf("Read([") !=script.lastIndexOf("Read([")){

          subMethodReg = "(.+)\\(\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\],\\[(.+\\(\\[.+\\]\\))\\]";

          }else{

          subMethodReg = "(.+)\\(\\[(.+)\\],\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\]";

          }

          Pattern p = Pattern.compile(subMethodReg);

          Matcher matcher = p.matcher(readString);

          while (matcher.find()) {

          for (int i = 1; i <= matcher.groupCount(); i++) {  

                      System.out.println("grp " + i + " :" + matcher.group(i));  

                  } 

          }

          }



          grp 1 :Print

          grp 2 :QDT

          grp 3 :Read([SQLServer#10.176.1.178#Mas2006],[select top 1 print_model + '.jasper' as reportname from tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])

          grp 4 :Read([SQLServer#10.176.1.178#Mas2006],[select  Machine_No, Check_Code, Model_Packing, Start_Date, Material_Name, Material_No, IIPC_part_code, Material_Qty, Print_Order, Machine_Product_No, print_model, SoftWareName, SoftWare_No, SoftWareQty from dbo.tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])


          其中,用于匹配(.+)\\(\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\],\\[(.+\\(\\[.+\\]\\))\\],print([],[Read([],[],[])],[Read([],[],[])])這樣的結(jié)構(gòu)
          而(.+)\\(\\[(.+)\\],\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\],用于匹配print([],[],[Read([],[],[])]這樣的結(jié)構(gòu)


          Lyyb2001
          主站蜘蛛池模板: 昆明市| 旬阳县| 本溪市| 隆林| 南昌市| 出国| 离岛区| 家居| 九寨沟县| 渑池县| 宁晋县| 滦南县| 望谟县| 东阳市| 同心县| 桐乡市| 屯门区| 太仓市| 雅江县| 哈巴河县| 手游| 勃利县| 开江县| 贵州省| 武清区| 唐山市| 虎林市| 东乡县| 兴宁市| 夏邑县| 绥宁县| 泸州市| 西峡县| 蓬莱市| 长丰县| 交口县| 麻江县| 潮安县| 开封市| 五寨县| 宁强县|