每天一点正则表达式积累(四)

//        以h开头的	
        p("hello sir".matches("^h.*"));//true 说明^ 行的开头 .*代表任意字符出现零次或者多次
        p("hello sir".matches("^a.*"));//false
        p("h".matches("^h.*"));//true
        p("hello sir".matches(".*ir$"));//true $行的结尾,本句是以ir结尾的字符
        p("hello sir".matches(".*i$"));//false
        p("hello sir".matches(".*r$"));//true 
        p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));//true \b代表单词边界,比如空格,空白字符换行符
        p("hello sir".matches("^h[a-z]{1,3}o.*"));//true
        p("hellosir".matches("^h[a-z]{1,3}o\\b.*"));//false
        p("hello\\nsir".matches("^h[a-z]{1,3}o\\b.*"));//true
        p("hello\nsir".matches("^h[a-z]{1,3}o\\b.*"));//false注意\n只有一个斜线是错误匹配
//        空白行
        p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));//true 表示开头的是空白字符,但是不是换行符,出现零次或者多次,结尾是换行符      
        p("aaa 8888c".matches(".*\\d{4}."));//true       
        p("aaa8888c".matches("^a..\\d{4}."));//true
        p("aaa 8888c".matches("^a..\\d{4}."));//false,注意还有空白字符,所以两个点不行
        p("aaa 8888c".matches("^a...\\d{4}."));//true
        p("aaa 8888c".matches(".*\\b\\d{4}."));//true这里和\\b匹配的是一个空白符
        p("aaa8888c".matches(".*\\d{4}."));//true
        p("aaa8888c".matches(".*\\b\\d{4}."));//false 因为没边界所以错误
        p("aaa 8888c".matches("^a...\\d{4}c$"));//true
        p("aaa 8888c".matches("a{3}.\\d{4}c$"));//true
        p("aaa 8888c".matches("a{3} \\d{4}c$"));//true
        //注意下面两个,第二个由于少了一个空格,所以是错误的,需要注意
        p("aaa 8888c".matches("a{3} \\b\\d{4}c$"));//true
        p("aaa 8888c".matches("a{3}\\b\\d{4}c$"));//false因为{3}后面少了一个空格
public static void p(Object o) {
        System.out.println(o);
    }


你可能感兴趣的:(c,正则表达式,object)