字符
x x字符
\\ 反斜线字符
\t 制表符
\n 换行符
\r 回车符
字符类:
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
预定义字符类:
. 任何字符 如果本身就是. \. qq.com 写正则表达式(\\.)
\d 数字:[0-9] 写正则表达式 :\\d
\w 单词字符:[a-zA-Z_0-9]:字母大小写,数字字符 \\w
边界匹配器:
^ 行的开头
$ 行的结尾
\b 单词边界 尾 (helloword?haha:world)
Greedy 数量词(重点)
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X字符恰好出现n次
X{n,} X字符至少出现n次
X{n,m} X字符至少出现n次,但不超过m次
//定义正则规则
String regex= "[1-9][0-9] {4,14}" ;//检验QQ号码,要求5~15个数字组成,不能以0开头
//public static boolean matches(String regex) :
//检验我们的字符串数据是否和正则规则匹配,如果匹配成功则返回true
boolean flag = qq.matches(regex) ;
return flag ;
//定义正则规则136....
13689257284
13688886666
....
String regex = "1[36]\\d{9}" ;//检验手机号,要求1开头,第二位为3或6,总共十一个数
boolean flag = phone.matches(regex) ;
System.out.println(flag);
public String replaceAll(String regex,String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
例句:String s = "hello12345World781323244454JavaEE" ;
//需求:要将数字字符被替换成*
String regex = "\\d+" ;
//定义替换的字符串
String ss = "*" ;
String result = s.replaceAll(regex, ss) ;
System.out.println("result:"+result);
//定义正则规则邮箱:
qq邮箱 919081924@qq.com
126邮箱
163邮箱 zhangsan@163.com
新浪微博邮箱
企业邮箱 xibukaiyuan@westos.com.cn
// String regex = "[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,6}(\\.[a-zA-Z_0-9]+){1,4}" ;
String regex = "\\w+@\\w{2,6}(\\.\\w+){1,4}";
boolean flag = email.matches(regex) ;
System.out.println("flag:"+flag);