Problème avec mon expression régulière
Bonjour,
j'utilise une expression reguliere pour trouver toutes les adresses emails qui se trouvent dans un fichier texte.
Voici comment je procède :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| // texte ou je vais chercher les emails
String texte;
// arraylist ou je met les adresse trouvee
ArrayList<String> liste = new ArrayList<String>(0);
// creation de l'entree
FileReader entree;
try
{
entree = new FileReader("/emplacement/fichier.txt");
}
catch (FileNotFoundException e)
{
throw new Exception("Impossible d'ouvrir le fichier", e);
}
// parcourt le fichier
int c;
try
{
while ((c = entree.read()) != -1)
{
texte = texte + (char) c;
}
}
catch (IOException e)
{
throw new Exception("Impossible de lire le fichier", e);
}
// definition de la regexp
Pattern aChercher = Pattern.compile("[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@" +
"[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[_A-Za-z0-9-]+)");
Matcher chercheur = aChercher.matcher(texte);
// recherche les adresse
while (chercheur.find())
{
String email = chercheur.group();
liste.add(email);
} |
Celà marche nickel si mon fichier ne commence pas par une adresse genre :Mais j'ai un problème si le fichier commence par une adresse :Dans ce cas j'obtient :J'ai pioché le pattern sur internet car je suis en bille mais je pense pas que cela vienne de sa...
Je suis perdu, merci de m'eclairer