qqjianyue代碼工

          砌java代碼
          posts - 62, comments - 9, trackbacks - 0, articles - 10
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java 正則表達式pattern類Matcher類

          Posted on 2008-10-04 19:50 Qzi 閱讀(1053) 評論(0)  編輯  收藏 所屬分類: java foundation
          Pattern類:
          例子:
                  Pattern pattern = Pattern.compile("[,\\s]+");
                  String[] result = pattern.split("one two three,four,five, six");
                  for(int i = 0; i<result.length; i++){
                      System.out.println(result[i]);
                  }
          輸出結果是:
          one
          two
          three
          four
          five
          six
          Pattern類的靜態方法compile用來編譯正則表達式,在此[,\\s]+表示若干個","或者若干個空格匹配
          split方法使用正則匹配將字符串切割成各子串并且返回

          Matcher類:
          注意,Matcher的獲得是通過Pattern.matcher(CharSequence charSequence);輸入必須是實現了CharSequence接口的類
          常用方法:
          matches()判斷整個輸入串是否匹配,整個匹配則返回true
          例如下面會輸出true
                  String str1 = "hello";
                  Pattern pattern1 = Pattern.compile("hello");
                  Matcher matcher1 = pattern1.matcher(str1);
                  System.out.println(matcher1.matches());

          lookingAt()從頭開始尋找,找到匹配則返回true
          例如下面會輸出true
                  String str2 = "hello yangfan!";
                  Pattern pattern2 = Pattern.compile("hello");
                  Matcher matcher2 = pattern2.matcher(str2);
                  System.out.println(matcher2.lookingAt());

          find()掃描輸入串,尋找下一個匹配子串,存在則返回true
          例如下面將會將所有no替換成yes
                  Pattern pattern = Pattern.compile("no");
                  Matcher matcher = pattern.matcher("Does jianyue love yangfan? no;" +
                          "Does jianyue love yangfan? no;Does jianyue love yangfan? no;");
                  StringBuffer sb = new StringBuffer();
                  boolean find = matcher.find();
                  while(find){
                      matcher.appendReplacement(sb, "yes");
                      find = matcher.find();
                  }
                  matcher.appendTail(sb);
                  System.out.println(sb.toString());

          主站蜘蛛池模板: 宣化县| 浦北县| 博兴县| 稷山县| 永胜县| 旬邑县| 仙游县| 武定县| 旌德县| 合山市| 苏尼特左旗| 玛曲县| 东辽县| 厦门市| 锡林郭勒盟| 红原县| 都安| 长岭县| 依安县| 大冶市| 株洲市| 塔河县| 黔东| 布拖县| 鸡西市| 静安区| 平利县| 宁乡县| 嘉峪关市| 沁阳市| 曲阳县| 开江县| 滦南县| 临泽县| 东台市| 钟祥市| 西乡县| 怀来县| 山阴县| 建平县| 澄江县|