用正则表达式判断一个字符串是否为16进制数的Java程序如下(不知道是不是你想要的)
public class AA {
public static void main(String[] args) {
String s="123bf";
String regex="^[A-Fa-f0-9]+$";
if(s.matches(regex)){
System.out.println(s.toUpperCase()+"是16进制数");
}else{
System.out.println(s.toUpperCase()+"不是16进制数");
}
}
}
运行结果
123BF是16进制数
追问在刚才基础上,要判断是否为4位或者7位,请问下该要怎么写呢?
追答判断是否为4位或者7位十六进制数的Java程序如下
public class AA {
public static void main(String[] args) {
String s="123b123";
String regex="^[A-Fa-f0-9]{4}|[A-Fa-f0-9]{7}$";
if(s.matches(regex)){
System.out.println(s.toUpperCase()+"是4位或者7位16进制数");
}else{
System.out.println(s.toUpperCase()+"不是4位或者7位16进制数");
}
}
}
运行结果
123B123是4位或者7位16进制数