语法示例:
1. [abc]:代表a或者b,或者c字符中的一个。
2. [^abc]:代表除a,b,c以外的任何字符。
3. [a-z]:代表a-z的所有小写字符中的一个。
4. [A-Z]:代表A-Z的所有大写字符中的一个。
5. [0-9]:代表0-9之间的某一个数字字符。
6. [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
7. [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符。
例子:
public class Demo {
public static void main(String[] args) {
String s="a";
System.out.println(s.matches("[abc]"));//true
System.out.println(s.matches("[^abc]"));//false
System.out.println(s.matches("[a-c]"));//true
System.out.println("======================");
s="abc";
System.out.println(s.matches("[abc]"));//false
System.out.println(s.matches("[^abc]"));//false
System.out.println(s.matches("[a-c]"));//false
}
}
语法示例:
1. &&:并且
2. | :或者
3. \ :转义字符
例子:
public class Demo{
public static void main(String[] args) {
String s="aad";
//1.要求字符串是小写辅音字符开头,后跟ad
System.out.println(s.matches("[a-z&&[^aeiou]]ad"));//false
//2.要求字符串是aeiou中的某个字符开头,后跟ad
System.out.println(s.matches("[a|e|i|o|u]ad"));//true
}
}
语法示例:
1. "." : 匹配任何字符。
2. "\d":任何数字[0-9]的简写;
3. "\D":任何非数字\[^0-9\]的简写;
4. "\s": 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效。
5. "\S": 非空白字符:\[^\s] 的简写
6. "\w":单词字符:[a-zA-Z_0-9]的简写
7. "\W":非单词字符:\[^\w]
例子:
public class Demo {
public static void main(String[] args) {
//"." : 匹配任何字符
System.out.println("你".matches("."));//true
System.out.println("你".matches(".."));//false
System.out.println("你好".matches(".."));//true
System.out.println("=========================");
//"\d":任何数字[0-9]的简写
System.out.println("a".matches("\\d"));//false
System.out.println("1".matches("\\d"));//true
System.out.println("111".matches("\\d"));//false
System.out.println("========================");
//"\s": 空白字符:[ \t\n\x0B\f\r] 的简写
System.out.println("".matches("\\s"));//false
System.out.println(" ".matches("\\s"));//true
System.out.println("\t".matches("\\s"));//true
System.out.println("a".matches("\\s"));//false
System.out.println("========================");
//"\w":单词字符:[a-zA-Z_0-9]的简写
System.out.println("a".matches("\\w"));//true
System.out.println("_".matches("\\w"));//true
System.out.println("C".matches("\\w"));//true
System.out.println("9".matches("\\w"));//true
System.out.println("a3".matches("\\w"));//false
}
}
语法示例:
1. X? : 0次或1次
2. X* : 0次到多次
3. X+ : 1次或多次
4. X{n} : 恰好n次
5. X{n,} : 至少n次
6. X{n,m}: n到m次(n和m都是包含的)
例子:
public class Demo{
public static void main(String[] args) {
//X? : 0次或1次
System.out.println("".matches("\\w?"));//true
System.out.println("a".matches("\\w?"));//true
System.out.println("a3".matches("\\w?"));//false
System.out.println("========================");
//X* : 0次到多次
System.out.println("".matches("\\w*"));//true
System.out.println("a".matches("\\w*"));//true
System.out.println("a3".matches("\\w*"));//true
System.out.println("========================");
//X+ : 1次或多次
System.out.println("".matches("\\w+"));//true
System.out.println("a".matches("\\w+"));//true
System.out.println("a3".matches("\\w+"));//true
System.out.println("========================");
//X{n} : 恰好n次
System.out.println("".matches("\\w{1}"));//false
System.out.println("a".matches("\\w{1}"));//true
System.out.println("a3".matches("\\w{1}"));//false
System.out.println("========================");
//X{n,} : 至少n次
System.out.println("a".matches("\\w{2,}"));//false
System.out.println("ab".matches("\\w{2,}"));//true
System.out.println("abc".matches("\\w{2,}"));//true
System.out.println("========================");
//X{n,m}: n到m次(n和m都是包含的)
System.out.println("a".matches("\\w{2,4}"));//false
System.out.println("ab".matches("\\w{2,4}"));//true
System.out.println("ab3d".matches("\\w{2,4}"));//true
System.out.println("12345".matches("\\w{2,4}"));//false
System.out.println("========================");
}
}
案例:
验证13384920492,23839048503,12098174910,13019485011011满足
以1开头且第二位在3-9之间的11位数
public class Demo{
public static void main(String[] args) {
String[] strings={"13384920492","23839048503","12098174910","13019485011011"};
//验证只能以1开头,第二位在3-9之间的11位数
for (int i = 0; i <strings.length; i++) {
System.out.println(strings[i].matches("1[3-9]\\d{9}"));
}
}
}