式_达_表_则_正

http://lizhensan.iteye.com/blog/1115350

1.String类中有三个方法,用到正则,
     split(String regex);
    replaceFirst(String regex);
    replaceAll(String regex,replace);

    示例:将字符串中所有的数字用"z"来代替
       "ab3c8da6".replaceAll("\\d","z");

2.正则规则
    .        | 代表任意一个字符
    [abc]    | 代表a,b,c中任意一个字符
    [^abc]   | 代表a,b,c以外的一个字符
    [a-zA-Z] | 代表a-z,或者A-Z中的一个字符
    \s       | 代表空白符(空格,换行,换页,回车,tab)
    \S       | 代表非空白符
    \d       | 代表任意一个数字[0-9]
    \D       | 代表一个非数字[^0-9]
    \w       | 代表字词符[a-zA-Z_0-9]
    *        | 出现0次到多次
     ?       |  出现0次或1次
     +       |  出现1次到多次
     {n}     |  出现n次
     {n,m}   |  出现n到次


private static void showZhengZe()
    {
        ZhengZe zz = new ZhengZe();
        String regex = "[1]";
        String name = "1";
        if (name.matches(regex))
        {
            System.out.println("符合条件");
            zz.aaa();
        }
        else
        {
            System.out.println("未符合条件");
        }
    }
}
/*
* 正则规则
* \\d: 0-9任何一个数字
* \\D: 非数字字符
* \\s: 空白字符 '\t', '\n'
* \\S: 非空白字符
* \\w: 标示符  但不包括$
* \\W: 不可用于的标示符
* \\p{Lower} : 小写字母 a-z
* \\p{Upper} : 大写字母A-Z
* \\p{ASCII} : ASCII字符
* \\p{Alpha} : 字母字符
* \\p{Digit} : 十进制数字
* \\p{Alnum} : 数字和字母字符
* \\p{Punct} : 标点符号 !"#$%()+-,./<>=[]{}|~
* \\p{Graph} : 可见字符[\p{Alnum}\p{Punct}]
* \\p{Print} : 打印字符[\p{Alnum}]
* [^456] : 除开456的任何字符
* [a-z]  :a到z中的任何字母
* [a-zA-Z] : 任何字母
* [a-c[d-z]]:a-z或者d-z中的任何字母
* ?  0-1
* *  0-n
* +  1-n
* {n} 正好出现N次
* {n,}  至少出现n次
* {n-m} 出现n-m次
*/

----------------------------------------------------
经验总结:
问题1:用空格替换所有的<>及中间的内容
String a = "s<a class='sss'>nima</a>g<ggg>y";
System.out.println(a.replaceAll("<.*?>", ""));
关键在这个"?",如果没有这个问号,它会匹配最后一个">"











你可能感兴趣的:(C++,c,C#)