擅长:python、mysql、java
<p>你不需要检查长度。在两个捕捉组之间转入非捕捉组,如下所示</p>
<pre><code>([a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*(?:@|\sat\s)(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.|\sdot\s))+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)
^ ^
| |
</code></pre>
<p><a href="http://regex101.com/r/xJ6dN7/2" rel="nofollow">DEMO</a></p>