正则表达式格式化十六进制

时间:2013-05-06 11:12:12

标签: java regex

我想知道如何以十六进制格式创建正则表达式模式。

格式应为:(0-9A-F)_16

我试过了[0-9A-F]_[0-9],但我收到了错误。另外,我不相信下划线之前的第一部分适用于多位数。

示例:

  

FEDCBA987654321_16

1 个答案:

答案 0 :(得分:1)

[0-9A-Fa-f]+_16

应该适用于此(+在正则表达式令牌意味着“匹配此令牌的一次或多次重复”之后)。

如果要检查给定字符串是否与此模式完全匹配,请使用

boolean foundMatch = subjectString.matches("[0-9A-Fa-f]+_16");

如果要查找与正则表达式匹配的较长字符串的一部分,则应在正则表达式周围添加单词边界:

String ResultString = null;
Pattern regex = Pattern.compile("\\b[0-9A-Fa-f]+_16\\b");
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
    ResultString = regexMatcher.group();
}