0
이 종류의 날짜가 포함 된 텍스트가 있습니다 : 'Date Reported26/09/2010 08:22
'이고 정규식으로 날짜를 추출하고 싶습니다. (이 세금은 날짜가 다르기 때문에 사용하고 있습니다. 이 정규식 :java -이 텍스트에서 정규 표현식을 사용하여 날짜를 찾을 수 없습니다.
private static String PATTERN_DATE_REPORTED = "Date Reported[0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}";
와 같은 추출물을 수행
public String extractWithRegEx(String regextype, String input) {
String matchedString = null;
if (regextype != null && input != null) {
Matcher matcher = Pattern.compile(regextype).matcher(input);
if (matcher.find()) {
matchedString = matcher.group(0);
if (matcher.groupCount() > 0) {
matchedString = matcher.group(1);
}
}
}
return matchedString;
}
: extractWithRegEx는 다음과 같이 정의된다
if ((value = extractWithRegEx(PATTERN_DATE_REPORTED, text)) != null) {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
try {
metadata.setDateReported(df.parse(value));
System.out.println("Succesfully converted report date: "+metadata.getDateReported().toString());
} catch (ParseException e) {
System.out.println("Exception occured when converting report date: "+ e.getMessage());
}
}else{
System.out.println("Date Reported not found by this regex");
}
문제점 : 위 정규식을 기반으로 한 날짜를 찾지 못합니다.
는 당신이 문제를 볼 수 ... 그것이 내가 뭔가 코드의 나머지 잘못된 생각이 날짜 텍스트하지만, 다른 유형을 찾기 위해 다른 정규식에 대한 작동하기 때문에extractWithRegEx
가 올바른지 매우 확신?
감사합니다. 나는 표정이 일치해야하지만 내 머리카락을 꺼내고 있었다. 정규식에서 대괄호가없는 그룹을 찾는 것은 어려울 것입니다. – gnomed
정확하다고 생각되면 답변으로 표시하십시오. :) 당신의 프로젝트가 잘되기를 바랍니다. –
이 사이트에서 내 정규식으로 입력을 확인하는 경우 : http://gskinner.com/RegExr/ 둥근 괄호 없이도 작동하는 것 같습니다 ... 매우 이상합니다 ... –