我想知道如何以十六进制格式创建正则表达式模式。
格式应为:(0-9A-F)_16
我试过了[0-9A-F]_[0-9]
,但我收到了错误。另外,我不相信下划线之前的第一部分适用于多位数。
示例:
FEDCBA987654321_16
答案 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();
}