In a case like this, it would make much more sense to split the string on '@' character. Then validate that first part is not empty and that second part is one of the supported on.
Or if Regex class is used, then I would capture the domain part and then check it against predefined list.
Read the documentation for more information:
Regex Class (System.Text.RegularExpressions)[
^]