正则表达式
转义字符:
//转义字符
\d 0~9 \D非数字
\s空格 \S非空格
\w字符(数字、字母、_)
\W非字符
\b独立部分(单词边界 起始 结束 连词符(\W))
\B非独立部分
量词:
{0, 8} //最少0次最多8次
{0, } <==> *
{0, 1} <==> ?
{1, } <==> +
标识符:
g global
i ignore case
m multiline 换行匹配
起始符 ^ 行首
终止符 $ 行尾
通配符:
.
->可以匹配任意字符, 不包括\n和\r
l子集
子集:(用括号括起来的一个整体)
l范围词
范围词:([])
[0-9]
l正则或
正则或: (|)
a|b
实例
1).验证qq是否合法(长度5-15,首位不是0)
String qq = "1234"; String regex = "[1-9][0-9]{4,14}"; boolean res = qq.matches(regex);
2).字符串的拆分
String str = "zhangsan lisi wangwu"; String[] names = str.split(" +"); for(String s :names){ //s } //以.拆分 str.split("\\."); //转义. //.通配符 str.split("(.)\\1+"); //()表示子集 \\1表示第一个子集
3).字符串的替换
String str = "how"; str.replace("how", "he"); str.replaceAll("(.)\\1+", "#");
4).正则类
//创建正则表达式对象 Pattern p = Pattern.compile("[0-9]"); //创建匹配器对象 Matcher m = p.matcher(""); //要匹配的字符串 //获取匹配结果 boolean b = m.matches(); //其它操作