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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0

     

    public class ReEX {
        
    /**
         * 
    @param args
         
    */

        
    /**
         * 
    @param args
         
    */

        
    public static void main(String[] args){

            
    //正則表達式
            
    //用途:字符匹配\字符查找\字符替換
            
    //類:
            
    //-1-java.lang.String
            
    //-2-java.util.regex.Pattern
            
    //-3-java.util.regex.Matcher
            
            
    //.代表一個字符,例:
            
    //p("abc".matches(""))
            
            
    //replaceAll(regex, replacement)方法
            
    //p("a8789a".replaceAll("\\d", "-"));
            
            
    //Pattern類--代表匹配字符串的模式,使用Pattern.compile(arg0)方法
            
    //[a-z]a到z中的一個字符;[a-z]{3}a到z中的任三個字符
            
            
    //Pattern類的matcher(string)方法--用模式匹配某個字符串(String實現了CharSequence字符序列的接口)
            
            
    //Matcher類的matches()方法--得到結果
            
    //Pattern p = Pattern.compile("[a-z]{3}");
            
    //Matcher m=p.matcher("fgh");//Matcher是一個匹配器用于存儲結果
            
    //p(m.matches());
            
    //以上代碼同于p(fgh.matches([a-z]{3}));
            
            
    //*零個或多個 
            
            
    //+一個或多個
            
            
    //?零個或一個
            
    //例子
            /*p("a".matches("."));
            p("aa".matches("aa"));
            p("aaaa".matches("a*"));
            p("aaaa".matches("a+"));
            p("aaaa".matches("a?"));//false
            p("".matches("a*"));
            p("234324324123".matches("\\d{3,100}"));
            p("192.168.0.aaa".matches("\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}."));//false
            p("192".matches("[0-2][0-9][0-9]"));
    */

            
            
    //范圍[]其中一個字符  ^取反  -代表一個范圍  |或者   &&取交集
            /*p("a".matches("[abc]"));
            p("a".matches("[^abc]"));
            p("A".matches("[a-zA-Z]"));
            p("A".matches("[a-z]|[A-Z]"));
            p("A".matches("[a-z[A-Z]]"));
            p("R".matches("[A-Z&&[RFG]]"));
    */

            
            
    //認識 \s一個空白字符 \一個構成單詞的字符 \d 代表一個數字
            
    //    \S上面取反            \W上面取反                       \D上面取反    
            /*p(" \n\r\t".matches("\\s{4}"));
            p(" ".matches("\\S"));
            p("a_8".matches("\\w{3}"));
            p("abc888&^".matches("[a-z]{1,3}\\d+[&^#]+"));
            p("\\".matches("\\\\"));
    */

            
            
    //邊界處理
            /*p("hello sir".matches("^h.*"));
            p("hello sir".matches(".*ir$"));
            p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));
            p("hellosir".matches("^h[a-z]{1,3}o\\b.*"));
            p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));//空白行
    */

            
            
    //練習
            /*p("aaa 8888c".matches(".*\\d{4}."));
            p("aaa 8888c".matches(".*\\b\\d{4}."));
            p("aaa8888c".matches(".*\\d{4}."));
            p("aaa8888c".matches(".*\\b\\d{4}."));
    */

            
            
    //email
            
    //p("safsadfsdafsafasf@dsafsaf.com".matches("[\\w[.-]+@[\\w[.-]]]+\\.[\\w]+"));
            
            
    //find();依次順序查找子串    lookingAt();每次從開始位置開始查找子串 m.start()找到的起始位,m.end()找到的子串未位,找不到使用會報錯
            
            
    /*Pattern p=Pattern.compile("\\d{3,5}");
            String s="123-23234-343-00";
            Matcher m=p.matcher(s);
            p(m.matches());
            m.reset();//把原來吃進的子串給吐出來
            p(m.find());
            p(m.start()+"-"+m.end());//m.start()找到的起始位,m.end()找到的子串未位,找不到使用會報錯
            p(m.find());
            p(m.find());
            p(m.find());
            
            p(m.lookingAt());
            p(m.lookingAt());
            p(m.lookingAt());
            p(m.lookingAt());
    */

            
            
    //replacement()--字符串的替換
            /*Pattern p=Pattern.compile("java",Pattern.CASE_INSENSITIVE);//Pattern.CASE_INSENSITIVE 略大小寫
            Matcher m=p.matcher("java Java JAVa IloveJAVA you hateJava");
            StringBuffer buf=new StringBuffer();
            int i=0;
            //p(m.replaceAll("JAVA"));
            while(m.find())
            {
                i++;
                if(i%2==0)
                {
                    m.appendReplacement(buf, "java");
                }
                else
                {
                    m.appendReplacement(buf, "JAVA");
                }
            }
            p(buf);
    */

            
            
    //分組
            /*Pattern p=Pattern.compile("(\\d{3,5})([a-z]{2})");
            String s="123aa-34345bb-234cc-00";
            Matcher m=p.matcher(s);
            while(m.find())
            {
                p(m.group());
                //p(m.group(1));
                //p(m.group(2));
            }
    */

            
            
    //(?=a)不捕獲a  .{3}(?=a)為444;.{3}(?!a)為66b
            /*Pattern p = Pattern.compile(".{3}(?!a)");
            String s = "444a66b";
            Matcher m = p.matcher(s);
            while(m.find()) {
                p(m.group());
            }
    */


            
    //back refenrences向前引用(\\d\\d)\\1
            
    //Pattern p = Pattern.compile("(\\d\\d)\\1");
            
    //String s = "1212";
            /*Pattern p = Pattern.compile("(\\d(\\d))\\2");
            String s = "122";
            Matcher m = p.matcher(s);
            p(m.matches());
    */

            
            
    //flages的簡寫
            
    //Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
            
    //p("Java".matches("(?i)(java)")); //同上
        }

        
    public static void p(Object o){
            System.out.println(o);
        }

    }

    class Rexg
    {
        public static 
    void main(String[] args)
        
    {
            
    // \d{5}(-\d{4})?    ?表示上面的可有可無
            /*p("10101".matches("\\d{5}(-\\d{4})?"));
            p("10101-1234".matches("\\d{5}(-\\d{4})?"));
            p("abc".matches("abc?"));
            p("ab".matches("abc?"));
            p("abc".matches("a(bc)?"));
            p("a".matches("a(bc)?"));
    */

            
            
    //子匹配  用()括起 \1表示每一個()中的子匹配 
            //1221,3553可表示為(\d)(\d)\2\1
            //11111,22222可表示為(\d)\1{4}
            
            
    //作用:1有效性驗證 2 替換內容 3查找某一類形的文本
            
        }

        public static 
    void p(Object obj)
        
    {
            System.out.println(obj);
        }

    }
    posted on 2009-11-03 10:15 junly 閱讀(153) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 日韩精品无码一区二区三区免费| gogo免费在线观看| 8x8×在线永久免费视频| 狠狠色伊人亚洲综合成人| aaa毛片视频免费观看| 亚洲中文字幕成人在线| 国产高清对白在线观看免费91 | 国产成人精品日本亚洲专区6| 免费A级毛片在线播放| 亚洲美女激情视频| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 67194在线午夜亚洲| 最近免费中文字幕4| 亚洲一区二区三区在线观看网站| 岛国大片免费在线观看| 香港经典a毛片免费观看看| 国产成人精品日本亚洲专区 | 中文字幕 亚洲 有码 在线 | 免费无码午夜福利片| 国产亚洲视频在线播放| 无码国产精品一区二区免费16| 91亚洲国产成人精品下载| 嫩草影院免费观看| 本道天堂成在人线av无码免费| 无码欧精品亚洲日韩一区| 中文字幕av无码无卡免费| 一区二区三区精品高清视频免费在线播放 | 午夜精品在线免费观看| 亚洲一级片免费看| 亚洲一级毛片免费观看| 一级有奶水毛片免费看| 亚洲中文无码a∨在线观看| 国产一区二区视频免费| 久久久久国产免费| 午夜亚洲乱码伦小说区69堂| 亚洲AV无码一区二区乱孑伦AS | 亚洲精品尤物yw在线影院| 99热这里有免费国产精品| 亚洲av午夜电影在线观看| 亚洲国产精品久久|