1、车牌号的开始字符为各个省,直辖市和自治区的简称。特别注意这里涵盖了大写字母,那是新军车牌
^[京津沪冀晋辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川黔云渝藏陕陇青宁新闽粤晋琼使领A_Z]{1}
2、接着下一位就是其下的地级行政区,由大写字母组成。后面的五位就是大写字母和数字,不过这里只能重复4次,因为有特殊情况,比如警就是公安局的车辆
^[京津沪冀晋辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川黔云渝藏陕陇青宁新闽粤晋琼使领A_Z]{1}[A_Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$
以下是判断车牌号是否有效的范例程序。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Sample {
public static void main(String[] args) {
System.out.println("浙AF4882 是否有效?"+check("浙AF4882"));
System.out.println("津ABED2 是否有效?"+check("津ABED2"));
}
//判断是否为有效车牌号
public static boolean check(String str) {
String patt="^[京津沪冀晋辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川黔云渝藏陕陇青宁新闽粤晋琼使领A_Z]{1}[A_Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";
Pattern r = Pattern.compile(patt);
Matcher matcher = r.matcher(str);
return matcher.find();
}
}
运行以上程序,得到如下打印结果:
浙AF4882 是否有效?true
津ABED2 是否有效?false