代码:
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Matcher matcher = null;
do {
System.out.println("请输入前两位为大写字母后四位为数字的字符串");
//接收输入的字符串
String str = sc.next();
//定义正则表达式
String reg = "^[A-Z]{2}\d{4}$";
//它接受一个标记参数flag(这里其实就是正则表达式reg),以调整匹配的行为
Pattern pattern = Pattern.compile(reg);
//创建匹配给定输入与此模式的匹配器
matcher = pattern.matcher(str);
//这里matcher.find()返回的布尔值 真为与给定的正则匹配 反之不匹配
} while (!matcher.find());
System.out.println("输入正确!");
}
}
结果:
最后补充一下关于Pattern和Matcher类的api
Pattern
Matcher
本题涉及正则表达式的含有
^:是以谁开头 例如 ^1 就是以1开头
$:是以谁结尾 6$ 就是以6结尾
【A-Z】 :大写字母A-Z 的任意一个
{n}:有n个 【A-Z】{2} A-Z的任意大写字母有两个
\d 是0-9的任意一个数字



