String str = "90";//2-89
System.out.println(str.matches("(^[1-9]$)|(^[1][0-9]$)|(^[2][0-4]$)"));//1-24
System.out.println(str.matches("(^[2-9]$)|(^[1-7][0-9]$)|(^[8][0-9]$)"));//2-89
1 “.” 可以用来匹配任何一个字符。如:形式为a.b的正则表达式,它可以匹配aab,acb,a2b,a#b等等。
2 “[]” 只有[]里指定的字符才能匹配。如形式为a[xyz]b的正则表达式,它可以匹配axb,ayb,azb,不能匹配amb等其它的。
3 “*” 表示匹配次数,可以表示任意次。用来表示紧靠在该符号左边的符号出现的次数。如对于形式为a.*b的正则表达式,可以匹配azb,azzb,ab,a*b
4 “?” 表示匹配0次或者1次,用来表示紧靠在该符号左边的符号出现的次数。如对于a.?b的正则表达式,可以匹配axb,ab
5 “\” 这个时正则表达式的连接符。如对于正则表达式a.\-b,它可以匹配a-b,az-b,a*-b
public static void main(String[] args) {
String regex = "a.";//匹配任何一个字符
String regex = "a[&]";//匹配指定的字符
String regex = "a.*b";//表示匹配次数,*左边字符匹配任意次
String regex = "a.?b";//表示?左边字符出现0次或者1次
String regex = "a.\\-b";//表示\是正则表达式的连接符
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("ab-b");
boolean flag = matcher.matches();
System.out.println(flag);
}
System.out.println(str.matches("(^[1-9]$)|(^[1][0-9]$)|(^[2][0-4]$)"));//1-24
System.out.println(str.matches("(^[2-9]$)|(^[1-7][0-9]$)|(^[8][0-9]$)"));//2-89
1 “.” 可以用来匹配任何一个字符。如:形式为a.b的正则表达式,它可以匹配aab,acb,a2b,a#b等等。
2 “[]” 只有[]里指定的字符才能匹配。如形式为a[xyz]b的正则表达式,它可以匹配axb,ayb,azb,不能匹配amb等其它的。
3 “*” 表示匹配次数,可以表示任意次。用来表示紧靠在该符号左边的符号出现的次数。如对于形式为a.*b的正则表达式,可以匹配azb,azzb,ab,a*b
4 “?” 表示匹配0次或者1次,用来表示紧靠在该符号左边的符号出现的次数。如对于a.?b的正则表达式,可以匹配axb,ab
5 “\” 这个时正则表达式的连接符。如对于正则表达式a.\-b,它可以匹配a-b,az-b,a*-b
public static void main(String[] args) {
String regex = "a.";//匹配任何一个字符
String regex = "a[&]";//匹配指定的字符
String regex = "a.*b";//表示匹配次数,*左边字符匹配任意次
String regex = "a.?b";//表示?左边字符出现0次或者1次
String regex = "a.\\-b";//表示\是正则表达式的连接符
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("ab-b");
boolean flag = matcher.matches();
System.out.println(flag);
}