-2

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

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

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

例子:

FEDCBA987654321_16

4

1 回答 1

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();
} 
于 2013-05-06T11:20:47.873 回答