Expression régulière correspondant unique dot, mais pas deux points?

D'essayer de créer une regex modèle pour l'adresse email. Qui permettra à un point (.) mais pas si il y a plus d'un côté les unes des autres.

Doit correspondre à:
[email protected]

Ne doit pas correspondre à:
[email protected]

Maintenant, je sais qu'il y a des milliers d'exemples sur internet pour l'e-mail de correspondance, donc merci de ne pas poster moi des liens avec des solutions complètes, je suis en train de l'apprendre ici.

La partie qui m'intéresse le plus, c'est juste la partie locale:
test.test qui doit correspondre et test..test qui ne devrait pas égaler.
Merci de votre aide.

La spécification définit la manière dont vous devez faire correspondre tools.ietf.org/html/rfc2822#page-17 . Il sera beaucoup plus facile de construire robuste regex de cette façon que d'utiliser les solutions ad hoc ici que seulement regarder le problème de 2 points
En fait j'ai été en passant par des spécifications,... Et est venu à mon premier obstacle à essayer d'apprendre expression régulière correspondant à un point, mais pas deux ou plus les uns à côté des autres.
Eh bien, il dit partie locale est soit dot-atome ou une chaîne de caractères entre guillemets, puis vous regardez ce point-atome qui est de 1 atomtext suivi éventuellement par un point et un autre atome de texte. Qui est automatiquement une regex qui disqualifie les chaînes de caractères commençant avec dot, se terminant avec la dot, ou d'en avoir deux ou plus de deux points successifs dans le milieu. Pour des raisons de simplicité, supposons atomtext est juste les caractères a-z). Puis la partie locale qui ne permet point atomes est: /^([a-z](?:\.[a-z])*)+$/

OriginalL'auteur Carbon6 | 2012-05-20