Je suis en train d'extraire des informations à partir d'une adresse e-mail comme si Ruby:Regex: Comment obtenir/extraire des informations d'un email en utilisant des expressions régulières (en ruby)?
Email: Joe Schmo <[email protected]>
pour obtenir ces trois variables:
name = ?
email = ?
domain = ?
J'ai essayé de chercher partout mais ne peut pas sembler trouver comment le faire correctement. Voici ce que j'ai jusqu'à présent:
the_email_line = "Email: Joe Schmo <[email protected]>"
name = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[1]
email = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[2]
domain = (/^Email\: (.+) <(.+)>@[A-Z0-9.-]+\.(.+)/).match(the_email_line)[3]
Une idée sur la façon d'obtenir ces trois variables correctement?
Hormis le fait que l'expression rationnelle pour l'adresse e-mail est incomplète, vous devez affecter le résultat de '.match()' à une variable temporaire et l'indexer. –
Merci Ignacio pour le pourboire! – sjsc
L'utilisation de l'assignation parallèle devrait éliminer complètement la nécessité d'une variable temporaire (lancer le résultat de la correspondance à un tableau en premier). – bta