El código de la expresión regular para correo electrónico en PHP es el siguiente:

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/

Ejemplo

<?php $mail = 'ejemplo@example.com'; //Dirección de correo electrónico $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/"; preg_match($pattern, $mail, $matches); var_dump($matches); //Salida del resultado de coincidencia ?>

El resultado de ejecutar el código anterior es:

array(4) {
  [0]=>
  string(17) "ejemplo@example.com"
  [1]=>
  string(0) ""
  [2]=>
  string(0) ""
  [3]=>
  string(4) ".com"
}

Usar el filtro FILTER_VALIDATE_EMAIL

Ejemplo

<?php $email = 'ejemplo@example.com'; //Dirección de correo electrónico if (filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailMsg = "Formato de correo electrónico correcto"; } else { $emailMsg = "Formato de correo electrónico no válido"; } echo $emailMsg;