この9$1Fに似た文字列があります。数字で始まり、その後に「$」記号が続き、16進値で終わる必要があるかどうかを確認する必要があります。
[0-9][\\$][0-9A-Fa-f]
私はこのようなことを試みましたが、失敗しました。誰か助けてくれませんか。
絶対に数字で始めなければならない場合は、これを試してください:
^\\d\\$[0-9A-Fa-f]+
正規表現の一致を行っている場合は、それを使用して文字列を分割することもできます。次の例では、数字と 16 進数の値を 2 つの個別の整数に変換します。
final Pattern pattern = Pattern.compile("([0-9])\\$([0-9A-Fa-f]+)");
Matcher matcher = pattern.matcher("9$FF");
int digit = 0;
int hex = 0;
if (matcher.find()) {
digit = Integer.parseInt(matcher.group(1));
hex = Integer.parseInt(matcher.group(2), 16);
}
System.out.println(digit + " " + hex);
9 255
(9
とFF
)の結果