<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 化肥
    說的很好,學習了

      回復  更多評論
      

    主站蜘蛛池模板: 亚洲AV成人精品日韩一区 | 在线a免费观看最新网站| 国产亚洲美女精品久久久2020 | 国产精品成人啪精品视频免费| 四虎永久免费影院| 成年网站免费入口在线观看| www.亚洲色图.com| 国产无限免费观看黄网站| 国产亚洲情侣一区二区无码AV| 免费一级毛片不卡不收费| 小说区亚洲自拍另类| 亚洲AV永久无码精品一区二区国产| 免费播放国产性色生活片| 亚洲色婷婷综合开心网| 成全视成人免费观看在线看| 日本亚洲成高清一区二区三区| 欧洲精品99毛片免费高清观看| 亚洲国产精品综合久久久| 毛片免费在线观看网址| 亚洲一区精品中文字幕| 2021在线观看视频精品免费| 亚洲欧洲日本精品| 国产美女被遭强高潮免费网站| 色多多A级毛片免费看| 亚洲国产精品成人久久| 久久国产免费福利永久| 亚洲av中文无码乱人伦在线观看| 亚洲成a人在线看天堂无码| 无码精品人妻一区二区三区免费看| 亚洲乱码在线视频| 国产男女性潮高清免费网站| 国产在线精品观看免费观看| 亚洲综合久久1区2区3区| 国产精品免费视频网站| 国产亚洲免费的视频看| 亚洲综合国产成人丁香五月激情| 久久久久亚洲AV无码专区桃色| 久久精品无码专区免费青青| 亚洲Av永久无码精品黑人| 亚洲熟妇无码另类久久久| 免费国产作爱视频网站|