案例1:判断字符串是否是abc
packageRegex;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/*** 1.正则对应的类是Pattern(翻译:模式)而不是Rxgex,我们用到的方法都在Pattern类里面
* 2.案例1:判断字符串是否是abc*/
public classPatternDemo01 {public static voidmain(String[] args) {
String str= "abc";//根据以前的方法进行判断//System.out.println(str.equals("abc"));
/*** 用正则表达式来判断
* 1.compile(String regex) 将给定的正则表达式编译到模式中。
* 2.matcher(CharSequence input) 创建匹配给定输入与此模式的匹配器。
* 3.matches() 尝试将整个区域与模式匹配。*/
//首先要编译正则规则形式
Pattern p = Pattern.compile("abc");//将正则进行匹配
Matcher m =p.matcher(str);//进行判断
boolean b =m.matches();
System.out.println(b);
}
}
案例2:判断一个字符串
packageRegex;importjava.util.regex.Matcher;importjava.util.regex.Pattern;/*** 案例2:判断一个字符串
* 由3个字母组成
* 第一个字母是 a/b/c
* 第二个字母是 d/e/f/g
* 第三个字母是 x/y/z*/
public classPatternDemo02 {public static voidmain(String[] args) {
String str= "agx";//指定判断规则(中括号内字符顺序随便)
Pattern p = Pattern.compile("[abc][edgf][xzy]");//进行规则匹配
Matcher m =p.matcher(str);//进行判断
boolean b =m.matches();
System.out.println(b);
}
}
案例3:判断一个字符串
packageRegex;/*** 案例3:判断一个字符串
* 由3个字母组成
* 第一个字母是 a/b/c
* 第二个字母是 d/e/f/g
* 第三个字母是 x/y/z*/
public classPatternDemo03 {public static voidmain(String[] args) {
String str= "agx";//将原来的3个步骤封装到一步进行判断
System.out.println(str.matches("[abc][defg][zyx]"));
}
}
案例4:字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c&#x