Expression régulière pour le domaine à partir de l'adresse e-mail
Quelqu'un peut m'aider avec une expression régulière qui sera de retour à la fin de la partie d'une adresse e-mail, après le symbole@? Je suis nouveau sur les regex, mais qui veulent apprendre à l'utiliser plutôt que d'écrire inefficace .Net les fonctions de chaîne!
E. g. pour l'entrée "[email protected]" j'ai besoin d'une sortie de "example.com".
Cheers!
Tim
source d'informationauteur TimS
Vous devez vous connecter pour publier un commentaire.
Une expression régulière est tout à fait de la machinerie lourde pour ce but. Juste diviser la chaîne de caractères contenant l'adresse e-mail à l'
@
caractère, et prendre la deuxième moitié. (Une adresse e-mail est garanti pour contenir un seul@
caractère).@(.*)$
Celui-ci est compatible avec le @, puis de capturer tout jusqu'à la fin de l'entrée ($)
C'est un usage général e-mail de correspondance:
Noter qu'il ne saisit le groupe de domaine; si vous utilisez la suite, vous pouvez capturer une partie de continuer la
@
aussi:Je ne sais pas si cela répond à la norme RFC 2822, mais j'en doute.
Une simple regex pour votre participation est:
Mais, il peut être inutile lorsque vous appliquez pour un large et hétérogène domaines.
En est un exemple:
Mais, vous pouvez optimiser ce suffixe domaines que vous avez besoin.
Mais pour votre suffixe besoins, vous avez besoin simplement:
@.+$
Ressources:
http://www.regular-expressions.info/email.html
Wow, ici toutes les réponses ne sont pas tout à fait droit.
Une adresse e-mail peut avoir autant de "@" comme vous voulez, et le dernier n'est pas nécessairement celui avant que le domaine 🙁
par exemple, c'est une adresse email valide:
Vous auriez à être assez dire de faire que votre adresse e-mail.
Alors d'abord, analyser les commentaires à la fin.
Puis
Essayer cette expression régulière:
Je suis pas expert, mais l'expression ci-dessus est ce que vous avez besoin pour attraper le domaine à partir d'un e-mail, au moins aussi loin que je peux dire.
Le problème est que remarquer que vous prenez pas seulement du domaine, mais le "@" et ".". Pour accéder au nom de domaine dans la regex vous utilisez "$2"et de préserver le "@" et ".", vous pouvez utiliser une expression comme:
http://www.regexr.com/
Le site ci-dessus est un bon endroit pour essayer de regex pour voir si et comment il fonctionne.