Restricting minimum length of email ONLY for Gmail logins Regex

So, there is a task to match emails in an input agains some certain conditions. Most of them are fulfilled. All of them, actually, except one.

So, user emails have to be up to 30 characters long, but they cannot be shorter than 6 only for gmail users (the part before the @). Other types of email can have even shorter emails.

Please help me find a correct regexp!

My current one is:

^((?!.*?..)[a-zA-Z0-9.]{1,30})@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$