witam,
mam pewien problem, docelowo mam napisac funckje, ktora pobiera ze strony wszystkie adresy URL i emaile i zapisywac je w osobnych kolekcjach.
Na poczatku chcialbym po prostu sprawdzic czy czyta poprawnie napotkane fragmenty i inkrementuje zmienna po kazdym wystapieniu.
Metoda wyglada nastepujaco
public static void getUrlAndEmail(String url) throws IOException {
String line;
int count = 0;
URL url1 = new URL(url);
BufferedReader reader = new BufferedReader(new InputStreamReader(url1.openStream()));
//Pattern p = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
Pattern p = Pattern.compile("^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");
while ((line = reader.readLine()) != null){
Matcher m = p.matcher(line);
while(m.find()){
count++;
}
//System.out.println(line);
}
System.out.println(count);
}
Pomimo tego, ze napisany regex dziala poprawnie i strona zawiera maile i URL'e to i tak ich nie wylapuje.
Nie wiem czy dobrze zrozumialem BufferReadera i regexy dlatego prosze kogos obeznane, czy moglibyscie rzucic okiem i dac znac co jest nie tak ?
Z gory dziekuje