Verificación de Email con PCRE

PHP

<?php

$pattern = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])'
    . '(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i';

Python

pattern = '{0}{1}'.format(
    r'^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*@([a-z0-9])',
    r'(([a-z0-9-])*([a-z0-9]))+(.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$')

Javascript

Advertencia

POR HACER

C#

using System.Text.RegularExpressions;

string pattern = @"^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])" +
    @"(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$";

Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
bool isValid = regex.IsMatch("snicoper@example.com");

HTML5

Advertencia

No probada

^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$'