Cześć! Mam problem ponieważ mam regex który znajduje mi wszystkie daty w tekście. lecz nie wiem jak wyłuskać same daty bez przyklejonego tekstu jak np 2007-01-12Jakis oraz txt2008-01-31. Jak usunąć słowo "Jakis" oraz "txt" ?
Gdy sklejam to do jednego Stringa i używam metody Split zostaje wszystko poza datami
while(reader.hasNext()){
Pattern pat=Pattern.compile(".*(\\d{4}-\\d{2}-\\d{2}).*" );
String check=reader.next();
Matcher matcher=pat.matcher(check);
if(matcher.matches()){
correct.add(check);
}
}
tekst do testu:
2007-01-12Jakis txt2008-01-31 xxx 2008-02-29 2008-15-10 2008-19-45 2009-05-01
20999-11-11 pppp 2001-00-01 09-01-01 2001-01-00 2009-01-111 2009-02-29 1998-11-11
EDIT: Rozwiązane, jesli potomni by szukali to ten mały kod naprawił wszystko:
while(reader.hasNext()){
Pattern pat=Pattern.compile("\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])" );
String check=reader.next();
Matcher m=pat.matcher(check);
while(m.find()) {
correct.add(m.group(0));
}
}