Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1334 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [regex] récupérer une adresse email sur base d'un contenu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[regex] récupérer une adresse email sur base d'un contenu

n°216233
darklord
You're welcome
Posté le 18-09-2002 à 12:28:26  profilanswer
 

Bon j'ouvre un topic séparé pour résumer mon problème. J'ai un contenu libre (du texte) et je dois récupérer les adresses emails dans ce texte. Ces adresses peuvent etre contenues entre () ou ''. Là pour le moment j'ai un tableau de String avec des tokens qui sont suceptibles d'etre une adresse email (qui contient le char @ ).
 
Comment faire (le plus efficient possible pour récupérer l'adresse email (donc sans () "" et autre) sur base de, par exemple
 

Code :
  1. (toto@tutu.com)
  2. 'toto@tutu2.com'
  3. rienavoir@
  4. @pfff


 
-> toto@tutu.com  et toto@tutu2.com    
 
 
Merci ;)


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 18-09-2002 à 12:28:26  profilanswer
 

n°216306
--greg--
Posté le 18-09-2002 à 13:49:57  profilanswer
 

chuis pas sur que t'aies vraiment besoin de regex.
sinon j'ai une regex qui valide une addresse email


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216319
darklord
You're welcome
Posté le 18-09-2002 à 14:01:05  profilanswer
 

--greg-- a écrit a écrit :

chuis pas sur que t'aies vraiment besoin de regex.
sinon j'ai une regex qui valide une addresse email
 




 
ouais j'en ai une aussi mais sinon tu proposes quoi d'autre? Suppose que j'ai les quatres tokens de mon premier post. Comment je fais pour récupérer les adresses email [:sisicaivrai]


---------------
Just because you feel good does not make you right
n°216329
--greg--
Posté le 18-09-2002 à 14:08:36  profilanswer
 

euh.


Message édité par --greg-- le 18-09-2002 à 14:09:25

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216333
darklord
You're welcome
Posté le 18-09-2002 à 14:10:28  profilanswer
 

ouais mais le deal justement c'est que je ne sais jamais si c'est ( ou ' ou "" ou rien du tout. Et bon ce qu'il faudrait c'est un truc relativement générique ... (d'où l'idée des regex)


---------------
Just because you feel good does not make you right
n°216339
darklord
You're welcome
Posté le 18-09-2002 à 14:16:18  profilanswer
 

tricheur :fou:


---------------
Just because you feel good does not make you right
n°216359
--greg--
Posté le 18-09-2002 à 14:32:07  profilanswer
 

:ange:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216362
--greg--
Posté le 18-09-2002 à 14:33:11  profilanswer
 

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 :D
 
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 :fou: y'a un bug dans l'affichage de code: à l'origine mes * du commentaire sont bien alignées verticalement! :fou:


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!
n°216375
darklord
You're welcome
Posté le 18-09-2002 à 14:41:39  profilanswer
 

:love:


---------------
Just because you feel good does not make you right
n°216382
--greg--
Posté le 18-09-2002 à 14:44:39  profilanswer
 

merde, j'esperais un [:prosterne]
 
 
paidaiiii


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le 18-09-2002 à 14:44:39  profilanswer
 

n°216384
darklord
You're welcome
Posté le 18-09-2002 à 14:45:06  profilanswer
 

[:prosterne] --greg-- [:prosterne2]
 
satisfaite ? :D


Message édité par darklord le 18-09-2002 à 14:45:52

---------------
Just because you feel good does not make you right
n°216385
--greg--
Posté le 18-09-2002 à 14:45:29  profilanswer
 

:jap:


Message édité par --greg-- le 18-09-2002 à 14:45:40

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216471
bartleby
Posté le 18-09-2002 à 15:34:14  profilanswer
 

Wow, je ne connaissais meme pas l'existence des regex. Ca a l'air vraiment tres pratique.
 
Existe-il des tutoriaux qui serait complementaires à la documentation org.apache.oro.text.regex ?!
 
Merci d'avance

n°216490
--greg--
Posté le 18-09-2002 à 15:44:37  profilanswer
 

plusieurs topics sur les regex sur le forum, tu devrais y trouver quelques liens ;)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216513
darklord
You're welcome
Posté le 18-09-2002 à 16:07:26  profilanswer
 

raaaaaaaaaah ca fonctionne sa race [:prosterne]


---------------
Just because you feel good does not make you right
n°216518
--greg--
Posté le 18-09-2002 à 16:14:06  profilanswer
 

c'est clair :D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [regex] récupérer une adresse email sur base d'un contenu

 

Sujets relatifs
ecrire dans la base de registre[.NET, C#] traitement des apostrophes dans base de donnée Sqlserver
Transferer une base Access vers Mysql[php] si vous deviez faire une classe pour gerer un base mysql....
Delphi : Savoir si une clé existe dans la base de registre ?je cherche une base de donnée open source pour openoffice
Visual Basic & adresse IPRécupérer des variables de sessions IIS dans une applet
[MySQL] Acces avec des outils a la base super longcomment vérifier le contenu d'un champ
Plus de sujets relatifs à : [regex] récupérer une adresse email sur base d'un contenu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR