1.[abc]:a、b、c中任意的一个字符
2.[^abc]:除了a、b、c的任意字符
3.[a-z]:a、b、c …、z中的任意一个字符
4.[a-zA-Z0-9]:a~ z、A~ Z、0~9中任意一个字符
5.[a-z&&[^bc]]:a~z中除了b和c以外的任意一个字符,其中&&表示“与”的关系
6. •:任意一个字符
7.\d:任意一个数字字符,相当于[0-9]
8.\w:单词字符相当于[a-zA-Z0-9_]
9.\s:空白字符、相当于[\t\n\x0B\f\r]
10.\D:非空数字字符
11.\W:非单词字符
12.\S:非空白字符
13.X?:表示0个或1个X
14.X*:表示0个或任意多个X
16.X{n}:表示n个X
17.X{n,}:表示n个到任意多个X(大于等于n个X)
18.X{n,m}:表示n个到m个X
19.\d+:整数
20.\d+.\d+:小数
21.手机号的正则表达式:
字符串支持的正则表达式的方法一:
-
boolean matches(String regex)
-
使用给定的正则表达式验证当前字符串的格式,匹配则返回true
-
注:无论给定的正则表达式是否添加了边界匹配符"$"都是做全匹配验证的
// String email = "fancq@tedu.cn"; String email = "24784643@qq.com"; /* email的正则表达式 [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+ */ String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"; boolean match = email.matches(regex); if(match){ System.out.println("是邮箱"); }else{ System.out.println("不是邮箱"); }
String支持的正则表达式的方法之二:
-
String[] split(String regex)
-
将当前字符串按照满足正则表达式的部分进行拆分,并将拆分后的部分以一个String数组形式返回
String str = "567abc123def456ghi789"; String[] arr = str.split("[0-9]+"); System.out.println(Arrays.toString(arr));
字符串支持的正则表达式的方法三:
-
String replaceAll(String regex,String str)
-
将当前字符串中满足正则表达式的部分替换为给定的内容
String str = "abc123def456ghi789klm"; //将数字部分转换为#NUMBER# str = str.replaceAll("[0-9]+","#NUMBER#"); System.out.println(str);