Utilisation de Regex pour regrouper des emails
Bonjour,
Nous avons d'une part une liste d'email (>1 000 000) :
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
| CREATE TABLE [dbo].[ListeEmails](
[Email] [varchar](100) NOT NULL
)
insert into ListeEmails VALUES ('toto@gmail.com')
insert into ListeEmails VALUES ('tonton@gmail.com')
insert into ListeEmails VALUES ('titi@gmail.com')
insert into ListeEmails VALUES ('tata@gmail.com')
insert into ListeEmails VALUES ('toto@yahoo.com')
insert into ListeEmails VALUES ('tonton@yahoo.com')
insert into ListeEmails VALUES ('titi@yahoo.com')
insert into ListeEmails VALUES ('tata@yahoo.com')
insert into ListeEmails VALUES ('toto@google.fr')
insert into ListeEmails VALUES ('tonton@google.fr')
insert into ListeEmails VALUES ('titi@google.fr')
insert into ListeEmails VALUES ('tata@google.fr')
insert into ListeEmails VALUES ('patrick@gmail.com')
insert into ListeEmails VALUES ('pierre@gmail.com')
insert into ListeEmails VALUES ('jean@gmail.com')
insert into ListeEmails VALUES ('michel@gmail.com')
insert into ListeEmails VALUES ('patrick@yahoo.com')
insert into ListeEmails VALUES ('pierre@yahoo.com')
insert into ListeEmails VALUES ('jean@yahoo.com')
insert into ListeEmails VALUES ('michel@yahoo.com')
insert into ListeEmails VALUES ('patrick@google.fr')
insert into ListeEmails VALUES ('pierre@google.fr')
insert into ListeEmails VALUES ('jean@google.fr')
insert into ListeEmails VALUES ('michel@google.fr')
insert into ListeEmails VALUES ('sophie@gmail.com')
insert into ListeEmails VALUES ('marie@gmail.com')
insert into ListeEmails VALUES ('juliette@gmail.com')
insert into ListeEmails VALUES ('colette@gmail.com')
insert into ListeEmails VALUES ('sophie@yahoo.com')
insert into ListeEmails VALUES ('marie@yahoo.com')
insert into ListeEmails VALUES ('juliette@yahoo.com')
insert into ListeEmails VALUES ('colette@yahoo.com')
insert into ListeEmails VALUES ('sophie@google.fr')
insert into ListeEmails VALUES ('marie@google.fr')
insert into ListeEmails VALUES ('juliette@google.fr')
insert into ListeEmails VALUES ('colette@google.fr') |
et d'autre part une liste de règles :
Code:
1 2 3 4 5 6 7
| CREATE TABLE [dbo].[Regles](
[Syntaxe] [nvarchar](50) NOT NULL,
[Inclure] [bit] NOT NULL
)
insert into Regles VALUES ('@google.fr', 1)
insert into Regles VALUES ('colette@google.fr', 0) |
A l'aide d'une fonction regex (voir http://msdn.microsoft.com/msdnmag/is...lt.aspx?loc=fr) on teste les emails avec les règles.
ce que je voudrais c'est avoir la liste des emails respectant les règles.
dans notre cas de figures je dois obtenir :
Code:
1 2 3 4 5 6 7 8 9 10 11
| toto@google.fr
tonton@google.fr
titi@google.fr
tata@google.fr
patrick@google.fr
pierre@google.fr
jean@google.fr
michel@google.fr
sophie@google.fr
marie@google.fr
juliette@google.fr |
c'est à dire toutes les adresses contenant @google.fr à l'exception de colette@google.fr
J'espère avoir été clair, merci de me sortir de ce truc qui me casse la tête.
Nico