<?php
$str="qqqaaaaaa@126.com.cn"; preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.]){1,2}[a-z]{2,3}$/",$str,$re); echo $re[0]; ?> 详解: ^ 以后面内容开头的符合 [0-9a-z]+字母或数字重复一次以上 (([0-9a-z]+)[.]){1,2}字母或数字加点重复1-2次 [a-z]{2,3}$以2个或3个字母结尾 $为以此结尾的字符 拓展: 还有其他一些必须以字母开头可以加点或下划线的例子如: /^[a-z]([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i |