encore des problèmes avec ces opérateurs gourmands. le petit bon de code
est le suivant :
while (<SOURCEFILE>) {
if (/\*(.*@.*)\*/) {
push @address, $1;
}
}
dans le fichiers, pour les lignes de cette forme je récupère bien les
adresse mail :
*1) *
Supprimer des messages , o le champs *De :* contient
*zala@galleyslaves.com*
*2) *
Supprimer des messages , o le champs *De :* contient
*lddihqks@peoplestream.com*
...
ps : il y a bien un \n après contient
mais certaines lignes ont cette forme :
*13) *
Supprimer des messages , o le champs *De :* contient *trio@csmt.com*
pour ce type de ligne je récupère :
<De :* contient *trio@csmt.com>
alors, j'ai essayer /\*(.*?@.*)\*/, /\*(.*@.*?)\*/, /\*(.*?@.*?)\*/,
/\*(.*@.*)?\*/ ... mais ça marche pas et je ne comprends pas :((
encore des problèmes avec ces opérateurs gourmands. le petit bon de code est le suivant :
while (<SOURCEFILE>) { if (/*(.*@.*)*/) { push @address, $1; } }
dans le fichiers, pour les lignes de cette forme je récupère bien les adresse mail : *1) * Supprimer des messages , o le champs *De :* contient **
*2) * Supprimer des messages , o le champs *De :* contient ** ...
ps : il y a bien un n après contient
mais certaines lignes ont cette forme :
*13) * Supprimer des messages , o le champs *De :* contient **
pour ce type de ligne je récupère : <De :* contient *
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/, /*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
quelqu'un peut m'expliquer ?
pour matcher des adresse email les regex c'est catastrophique. tu n'aura jamais que de l'à peu prés. Il faut utiliser un module spécialisé. ou la fameuse regex de Jeffrey Friedl. http://examples.oreilly.com/regex/email-opt.pl
sous cette condition m{(?>[w.-]+)@w+[.][w.]*}g fonctionne pas trop mal. mais que garder dans une ligne comme "" ,
bonjour,
encore des problèmes avec ces opérateurs gourmands. le petit bon de code
est le suivant :
while (<SOURCEFILE>) {
if (/*(.*@.*)*/) {
push @address, $1;
}
}
dans le fichiers, pour les lignes de cette forme je récupère bien les
adresse mail :
*1) *
Supprimer des messages , o le champs *De :* contient
*zala@galleyslaves.com*
*2) *
Supprimer des messages , o le champs *De :* contient
*lddihqks@peoplestream.com*
...
ps : il y a bien un n après contient
mais certaines lignes ont cette forme :
*13) *
Supprimer des messages , o le champs *De :* contient *trio@csmt.com*
pour ce type de ligne je récupère :
<De :* contient *trio@csmt.com>
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/,
/*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
quelqu'un peut m'expliquer ?
pour matcher des adresse email les regex c'est catastrophique.
tu n'aura jamais que de l'à peu prés. Il faut utiliser un module
spécialisé. ou la fameuse regex de Jeffrey Friedl.
http://examples.oreilly.com/regex/email-opt.pl
sous cette condition m{(?>[w.-]+)@w+[.][w.]*}g fonctionne pas trop
mal. mais que garder dans une ligne comme
"toto@tata.com" <toto@ailleurs.com>,
encore des problèmes avec ces opérateurs gourmands. le petit bon de code est le suivant :
while (<SOURCEFILE>) { if (/*(.*@.*)*/) { push @address, $1; } }
dans le fichiers, pour les lignes de cette forme je récupère bien les adresse mail : *1) * Supprimer des messages , o le champs *De :* contient **
*2) * Supprimer des messages , o le champs *De :* contient ** ...
ps : il y a bien un n après contient
mais certaines lignes ont cette forme :
*13) * Supprimer des messages , o le champs *De :* contient **
pour ce type de ligne je récupère : <De :* contient *
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/, /*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
quelqu'un peut m'expliquer ?
pour matcher des adresse email les regex c'est catastrophique. tu n'aura jamais que de l'à peu prés. Il faut utiliser un module spécialisé. ou la fameuse regex de Jeffrey Friedl. http://examples.oreilly.com/regex/email-opt.pl
sous cette condition m{(?>[w.-]+)@w+[.][w.]*}g fonctionne pas trop mal. mais que garder dans une ligne comme "" ,
Klaus
On Jun 17, 7:02 pm, kurtz le pirate wrote:
dans le fichiers, pour les lignes de cette forme je récupère bien les adresse mail :
[ ...snip... ]
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/, /*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
On pourrait essayer le module Regexp::Common::Email::Address
Voir également le message du 01/06/2007 ("Re: Extraire a coup sur une adresse email") dans fr.comp.lang.perl http://groups.google.fr/group/fr.comp.lang.perl/msg/fc70872566358fd0
-- Klaus
On Jun 17, 7:02 pm, kurtz le pirate <kurtzlepir...@yahoo.fr> wrote:
dans le fichiers, pour les lignes de cette forme je récupère bien les
adresse mail :
[ ...snip... ]
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/,
/*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
On pourrait essayer le module Regexp::Common::Email::Address
Voir également le message du 01/06/2007 ("Re: Extraire a coup sur une
adresse email") dans fr.comp.lang.perl
http://groups.google.fr/group/fr.comp.lang.perl/msg/fc70872566358fd0
dans le fichiers, pour les lignes de cette forme je récupère bien les adresse mail :
[ ...snip... ]
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/, /*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
On pourrait essayer le module Regexp::Common::Email::Address
Voir également le message du 01/06/2007 ("Re: Extraire a coup sur une adresse email") dans fr.comp.lang.perl http://groups.google.fr/group/fr.comp.lang.perl/msg/fc70872566358fd0
-- Klaus
Stéphane Müller
Bonjour,
Si vous êtes certain du format de vos lignes et si la validité de l'adresse email ne vous intéresse pas, la regex suivante peut vous suffire:
/contient.+*(.+@.+)*/s
ou encore plus simplement:
/contient.+*(.+)*/s
Stéphane
"kurtz le pirate" a écrit dans le message de news:
bonjour,
encore des problèmes avec ces opérateurs gourmands. le petit bon de code est le suivant :
while (<SOURCEFILE>) { if (/*(.*@.*)*/) { push @address, $1; } }
dans le fichiers, pour les lignes de cette forme je récupère bien les adresse mail : *1) * Supprimer des messages , o~ le champs *De :* contient **
*2) * Supprimer des messages , o~ le champs *De :* contient ** ...
ps : il y a bien un n après contient
mais certaines lignes ont cette forme :
*13) * Supprimer des messages , o~ le champs *De :* contient **
pour ce type de ligne je récupère : <De :* contient *
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/, /*(.*?@.*?)*/, /*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas :((
quelqu'un peut m'expliquer ?
-- klp
Bonjour,
Si vous êtes certain du format de vos lignes et si la validité
de l'adresse email ne vous intéresse pas, la regex suivante peut
vous suffire:
/contient.+*(.+@.+)*/s
ou encore plus simplement:
/contient.+*(.+)*/s
Stéphane
"kurtz le pirate" <kurtzlepirate@yahoo.fr> a écrit dans le
message de news:
kurtzlepirate-1D9F2F.19024317062007@news-1.proxad.net...
bonjour,
encore des problèmes avec ces opérateurs gourmands. le petit
bon de code
est le suivant :
while (<SOURCEFILE>) {
if (/*(.*@.*)*/) {
push @address, $1;
}
}
dans le fichiers, pour les lignes de cette forme je récupère
bien les
adresse mail :
*1) *
Supprimer des messages , o~ le champs *De :* contient
*zala@galleyslaves.com*
*2) *
Supprimer des messages , o~ le champs *De :* contient
*lddihqks@peoplestream.com*
...
ps : il y a bien un n après contient
mais certaines lignes ont cette forme :
*13) *
Supprimer des messages , o~ le champs *De :* contient
*trio@csmt.com*
pour ce type de ligne je récupère :
<De :* contient *trio@csmt.com>
alors, j'ai essayer /*(.*?@.*)*/, /*(.*@.*?)*/,
/*(.*?@.*?)*/,
/*(.*@.*)?*/ ... mais ça marche pas et je ne comprends pas
:((