expression reguliere

Petit nouveau ! | 2 Messages

13 juin 2010, 20:18

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é

ViPHP
ViPHP | 5462 Messages

14 juin 2010, 01:13

tu veux qu'on t'explique l'expression ?

Petit nouveau ! | 2 Messages

14 juin 2010, 11:33

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 ?

ViPHP
ViPHP | 5462 Messages

14 juin 2010, 11:38

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