3

この9$1Fに似た文字列があります。数字で始まり、その後に「$」記号が続き、16進値で終わる必要があるかどうかを確認する必要があります。

[0-9][\\$][0-9A-Fa-f]

私はこのようなことを試みましたが、失敗しました。誰か助けてくれませんか。

4

3 に答える 3

2

絶対に数字で始めなければならない場合は、これを試してください:

^\\d\\$[0-9A-Fa-f]+
于 2013-03-06T12:05:06.653 に答える
0

正規表現の一致を行っている場合は、それを使用して文字列を分割することもできます。次の例では、数字と 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(9FF)の結果

于 2013-03-06T12:51:25.217 に答える