Page 1 sur 1

expression reguliere

Posté : 13 juin 2010, 20:18
par omelhor33
Bonjour,

J'essaye de comprendre un mini scrip qui extrait des email, et y a une ligne utilisant une expression réguliere et j'avoue de ma réussir à la comprendre, j'essaye de la décomposée, mais j'y arrive pas

$string = "[email protected]; bob meme ([email protected]); [email protected];

preg_match_all('#(?<=^|;)\s*(?:([^@]+@[^\\.]+\\.[a-z]+)|[^\\(]+\\(([^@]+@[^\\.]+\\.[a-z]+)\\))(?=;|$)#i', $string, $email);

Est-ce que quelqu'un serait la décomposer svp ?

Merci beaucoup
José

Re: expression reguliere

Posté : 14 juin 2010, 01:13
par stealth35
tu veux qu'on t'explique l'expression ?

Re: expression reguliere

Posté : 14 juin 2010, 11:33
par omelhor33
tu veux qu'on t'explique l'expression ?
en fait j'y comprend rien a cette expression, est-ce que si je la décompose dans un 1er temps cela donne ceci :

a)
(?<=^|;)\s*(?:([^@]+@[^\\.]+\\.[a-z]+)|[^\\(]+\\(([^@]+@[^\\.]+\\.[a-z]+)\\))(?=;|$)

b)
(?<=^|;)\s*(?:([^@]+@[^\\.]+\\.[a-z]+)

le | correspond à un OU

[^\\(]+\\(([^@]+@[^\\.]+\\.[a-z]+)\\))(?=;|$)


est-ce que deja je suis dans le bon chemin ?

Re: expression reguliere

Posté : 14 juin 2010, 11:38
par stealth35
tu veux qu'on t'explique l'expression ?
en fait j'y comprend rien a cette expression, est-ce que si je la décompose dans un 1er temps cela donne ceci :

a)
(?<=^|;)\s*(?:([^@]+@[^\\.]+\\.[a-z]+)|[^\\(]+\\(([^@]+@[^\\.]+\\.[a-z]+)\\))(?=;|$)

b)
(?<=^|;)\s*(?:([^@]+@[^\\.]+\\.[a-z]+)

le | correspond à un OU

[^\\(]+\\(([^@]+@[^\\.]+\\.[a-z]+)\\))(?=;|$)


est-ce que deja je suis dans le bon chemin ?
oui :D

je te conseil d'aller faire un tour sur cette page pour comprendre les assertion