Pour récuperer tout ce qui ressemble à un mail, entre tout caractere non alphanumérique:
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.Perl5Matcher;
import org.apache.oro.text.regex.PatternMatcherInput;
/**
* * * @author --greg--
* @author $Author: $ (last edit)
* @version $Revision: $
* @created Sep 18, 2002
*/
public class TestMailFetcherRegex {
private static final String mailRegex = "([a-z0-9_]|\\-|\\.)+" +
"@" +
"(([a-z0-9_]|\\-)+\\.)+" +
"[a-z]{2,4}";
public static void main(String[] args) throws Exception {
String test = "blablablabla(yo@yaisse.com)-eornd'hello@hello.be'et[trurururu@toutoutout.k9o] §trurururu@toutoutout.koool]ce,greg@chezMOI.com,tc";
PatternMatcherInput input = new PatternMatcherInput(test);
Perl5Compiler pc = new Perl5Compiler();
Perl5Matcher pm = new Perl5Matcher();
Pattern pat = pc.compile(mailRegex);
while (pm.contains(input, pat)) {
System.out.println( pm.getMatch().toString() );
}
}
} |
attention, comme vous pourrez voir, ça ne matche que les emails en minuscules. un .toLowerCase sera de mise si vous voulez recuperer des emails non valides
ps: ça ressemble méchamment à l'exemple de la doc de org.apache.oro.text.regex.PatternMatcherInput, mais j'avais pas vu au début, promis
edit: joce
y'a un bug dans l'affichage de code: à l'origine mes * du commentaire sont bien alignées verticalement! 
Message édité par --greg-- le 18-09-2002 à 14:36:16
---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!