로 추출 문자열 나는이 문자열자바 - 정규식
String myString ="A~BC~FGH~~zuzy|XX~ 1234~ ~~ABC~01/01/2010 06:30~BCD~01/01/2011 07:45";
을했습니다 나는이 3 개 하위
1234
6시 반
7시 45분
을 추출해야
이 정규식 \\ d {2} \ : \\ d {2}을 사용하는 경우 첫 번째 시간 만 추출 할 수 있습니다. 06:30
Pattern depArrHours = Pattern.compile("\\d{2}\\:\\d{2}");
Matcher matcher = depArrHours.matcher(myString);
String firstHour = matcher.group(0);
String secondHour = matcher.group(1); (IndexOutOfBoundException no Group 1)
matcher.group (1) 예외를 throw합니다.
또한 1234를 추출하는 방법을 모르겠습니다.이 문자열은 바뀔 수 있지만 항상 'XX ~'뒤에옵니다.
이 문자열을 정규식과 일치시키는 방법에 대해 알고 계십니까? 아담의 제안에
UPDATE
덕분에 지금은
Pattern p = Pattern.compile(".*XX~ (\\d{3,4}).*(\\d{1,2}:\\d{2}).*(\\d{1,2}:\\d{2})";
내가 수와 일치 내 문자열과 일치하는이 정규식을했습니다, 그리고 matcher.group와 2 시간 (1); matcher.group (2); matcher.group (3);
코드를 보여줄 수 있습니까? 그것은 06:30과 일치해야합니다. 다른 모든 것은 순서대로 있어야합니다. –