<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks

     

    package com.test;

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class PatternTest {
     
     private static void test0() {
      String str = "<biao><>c<b>x";
      Pattern pattern;
      Matcher matcher;
      // 貪婪: 最長匹配 .* : 輸出: <biao><>c<b>
      pattern = Pattern.compile("<.*>");
      matcher = pattern.matcher(str);
      while (matcher.find()) {
      System.out.println(matcher.group());
      }
      // 不知是否非貪婪 .*? : 輸出: <biao>, <>, <b>
      pattern = Pattern.compile("<.*?>");
      matcher = pattern.matcher(str);
      while (matcher.find()) {
      System.out.println(matcher.group());
      }
      // 使用組, 輸出<>里的內容, 輸出: 'biao', ' ', 'b'
      // 0組代表整個表達式, 子組從1開始
      pattern = Pattern.compile("<(.*?)>");
      matcher = pattern.matcher(str);
      while (matcher.find()) {
      System.out.println(">>"+matcher.group(1));
      }
     }
     
     /** 查找以Java開頭的任意字符串 */
     public static void test1() {
      Pattern pattern = Pattern.compile("^Java.*");
      Matcher m = pattern.matcher("Java哈哈");
      System.out.println(m.find());
     }
     
     /** 以多條件分割字符串 */
     public static void test2() {
      Pattern pattern = Pattern.compile("[,|\\+]+");
      String str[] = pattern.split("Java+ Hello World  Java,Hello,,World|Sun");
      if(str != null) {
       for(String s : str) {
        System.out.println(">> " +s);
       }
      }
     }

     /** 文字替換 */
     public static void test3() {
      Pattern pattern = Pattern.compile("abc*");
      Matcher matcher = pattern.matcher("xabcccc測試abd, abcce");
      String str = matcher.replaceAll("(?)");
      System.out.println(str);
     }
     
     /** 文字替換(替換字符)  結果將會是  x(?)測試(?)d, (?) */
     public static void test4() {
      Pattern pattern = Pattern.compile("123|4(567)");
      Matcher matcher = pattern.matcher("0123456789abcde");
      StringBuffer sb = new StringBuffer();
      while(matcher.find()) {
       System.out.println(matcher.group(0));
       System.out.println(matcher.group(1));
       System.out.println(">>"+ matcher.start()+":"+matcher.end());
       matcher.appendReplacement(sb, "(?)");
      }
      matcher.appendTail(sb);
      System.out.println(sb);
     }
     
     public static void test5() {
      String regEx="B(ond)";
           
            String str="My name is Bond. James Bond.";
            
            Pattern p=Pattern.compile(regEx);
            
            Matcher matcher=p.matcher(str);
            
            if(matcher.find()){
                System.out.println(matcher.groupCount());
                System.out.println(matcher.start());
                String group_0 = matcher.group(0);
                String group_1 = matcher.group(1);
                System.out.println("Group 0 " + group_0);
                System.out.println("Group 1 " + group_1);
                System.out.println(str);
            }

     }
     
     // 驗證是否為郵箱地址
     public static void test6() {
      String str="ponline@yahoo.com.cn.jcWe--_*";
      Pattern pattern =
      Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+");
      Matcher matcher = pattern.matcher(str);
      System.out.println(matcher.matches());
     }
     
     /** 去除html 標記  */
     public static void test7() {
      Pattern pattern = Pattern.compile(".+?");
      Matcher matcher = pattern.matcher("<a 測試 href=\"index.html\">主頁</a>");
      matcher.find();
      System.out.println(matcher.group());
      String string = matcher.replaceFirst("");
      System.out.println(string);
     }
     
     /** 查找html 中對應條件字符串 **/
     public static void test8() {
      Pattern pattern = Pattern.compile("href=\"(.+?)\"");
      Matcher matcher = pattern.matcher("<a href=\"index.html\">主頁</a>");
      if(matcher.find())
        System.out.println(matcher.group(1));
     }
     /** 截取http://地址  **/
     public static void test9() {
      Pattern pattern = Pattern.compile("(http://|https://){1}.+");
      Matcher matcher = pattern.matcher("dsdsds<http://dfhf.\\sd-: s//國家gfg-ffdfd>fdf");
      StringBuffer buffer = new StringBuffer();
      while(matcher.find()){              
          buffer.append(matcher.group());        
          buffer.append("\r\n"); 
          System.out.println(buffer.toString());
      }
     }
     
     /** 替換指定{}中文字  **/
     public static void test10() {
      String str = "Java目前的發展史是由{0}年-{1}年";
      String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}};
      System.out.println(replace(str,object));
     }
     
     public static String replace(String sourceString, String[][] object) {
      String temp=sourceString;    
            for(int i=0;i<object.length;i++){
               String[] result=(String[])object[i];
               Pattern    pattern = Pattern.compile(result[0]);
               Matcher matcher = pattern.matcher(temp);
               temp=matcher.replaceAll(result[1]);
            }
            return temp;
     }
     
     public static void main(String[] args) throws Exception{
      PatternTest.test10();
     

     }
    }

     



    </script>

    posted on 2012-02-26 20:04 helloworld2008 閱讀(323) 評論(1)  編輯  收藏 所屬分類: java

    評論

    # re: 常用正則表達式例子 2012-03-17 08:23 化肥
    說的很好,學習了

      回復  更多評論
      

    主站蜘蛛池模板: 三级毛片在线免费观看| 成人片黄网站A毛片免费| 亚洲高清不卡视频| 好吊妞视频免费视频| 一区二区三区免费在线视频 | 久久久久亚洲AV成人无码网站| 222www免费视频| 看免费毛片天天看| 亚洲av无码成人黄网站在线观看 | 羞羞漫画页面免费入口欢迎你| 国产亚洲色婷婷久久99精品| 无人影院手机版在线观看免费| 成在线人直播免费视频| 亚洲成a人片毛片在线| 亚洲国产精品一区二区第一页免 | 久久综合亚洲色hezyo| 亚洲精品免费在线观看| 国产美女精品视频免费观看| 九九精品成人免费国产片| 久久亚洲AV成人无码国产电影| 久久久久亚洲精品无码蜜桃| 免费a级毛片无码av| 3d成人免费动漫在线观看| 一级特黄色毛片免费看| 久久精品国产亚洲AV忘忧草18| 亚洲人成精品久久久久| 在线观看免费亚洲| 免费精品国产自产拍在| 免费无码又爽又刺激一高潮| 久久精品国产亚洲AV| 亚洲成年人免费网站| 亚洲av无码国产精品夜色午夜| 亚洲高清成人一区二区三区| 国国内清清草原免费视频99 | 亚洲免费网站在线观看| a视频在线观看免费| 黄页网址在线免费观看| 亚洲av无码专区首页| 亚洲人成77777在线观看网| 日韩亚洲AV无码一区二区不卡| 一本色道久久综合亚洲精品高清|