lyyb2001

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

          正則匹配

          Posted on 2015-03-27 10:41 skycity 閱讀(223) 評(píng)論(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
          主站蜘蛛池模板: 沁阳市| 象山县| 西安市| 武安市| 汾阳市| 余庆县| 松潘县| 乌拉特前旗| 镇坪县| 五大连池市| 田林县| 永济市| 象山县| 长宁区| 连云港市| 桃江县| 遂溪县| 赤壁市| 三门县| 天台县| 栾城县| 旬阳县| 田阳县| 南京市| 滨海县| 马鞍山市| 云龙县| 繁昌县| 普格县| 沛县| 雅安市| 江西省| 平利县| 平顺县| 京山县| 凤山县| 崇信县| 凉城县| 安徽省| 松阳县| 呼玛县|