나는이 9 $ 1F와 비슷한 문자열을 가지고 있으며 숫자로 시작하여 "$"기호 다음에 16 진수 값으로 끝나야하는지 확인해야합니다.
[0-9][\\$][0-9A-Fa-f]
나는 이런 식으로 시도했지만 실패했습니다. 누구든지 제발 도와주세요. 절대적 숫자로 시작해야하는 경우
나는이 9 $ 1F와 비슷한 문자열을 가지고 있으며 숫자로 시작하여 "$"기호 다음에 16 진수 값으로 끝나야하는지 확인해야합니다.
[0-9][\\$][0-9A-Fa-f]
나는 이런 식으로 시도했지만 실패했습니다. 누구든지 제발 도와주세요. 절대적 숫자로 시작해야하는 경우
,이 시도 :
^\\d\\$[0-9A-Fa-f]+
을 당신은 아마, 당신의 정규식이 첫 번째 진수를 일치 (정규식은 전체 입력 문자열과 일치해야 함) .matches()
를 사용하는 손가락. 당신은 또한 \\$
을 사용할 수 있습니다
는
[0-9][$][0-9A-Fa-f]+
대신 [$]
답장을 보내 주셔서 감사합니다.하지만 그것은 입력 문자열 "1 $ 04"에 대한 숫자 형식 예외를 제공합니다. – mee
정규식 일치를 수행하는 경우 문자열을 분할하는데도 사용할 수 있습니다. 다음 예제에서는 숫자와 16 진수 값을 두 개의 정수로 변환합니다. 9 255
(9
및 FF
)에서
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);
결과 응답에 대한
감사합니다. 하지만 그것은 입력 문자열 "1 $ 04에 대한 숫자 형식 예외를 제공합니다. 예, 숫자로 시작해야하고"$ "다음에 16 진수 값으로 끝나야합니다. – mee
이후에 어떤 작업을합니까? –
일단 일치하면 "$"로 문자열을 분할해야합니다. 스택 들여 쓰기를 할 수 없으므로 몇 가지 들여 쓰기 문제가 있습니다. 내 게시물을 한 번 들여 쓰겠습니다. 들여 쓰기가 완료되었습니다. – mee