java 怎么用正则表达式判断一个字符串是否为16进制数,且如果包含字母要转为大写

 我来答
紫薇参星
科技发烧友

2017-02-14 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3602万
展开全部

用正则表达式判断一个字符串是否为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进制数

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式