Вы можете использовать отрицательный прогноз (?!Google\.org|Yahoo\.net)
, чтобы утверждать, что прямо справа от @
нет ни Google.org, ни Yahoo.net. Примечание: экранируйте точку, чтобы буквально соответствовать ей.
Если в вашем классе символов указаны только те символы, которые вы хотите разрешить [A-Za-z0-9.]
, вы можете использовать регулярное выражение, которое сначала соответствует классу символов без точки, используя [A-Za-z0-9]+
Затем повторите часть 0+ раз, начиная с точки, используя (?:\.[A-Za-z0-9])*
, чтобы предотвратить начало или окончание электронного письма с точкой.
Обратите внимание, что вы можете расширить классы символов , чтобы разрешить большее количество символов.
^[A-Za-z0-9]+(?:\.[A-Za-z0-9])*@(?!Google\.org|Yahoo\.net)[A-Za-z0-9]+(?:\.[A-Za-z0-9])*\.\w+$
В Java
String regex = "^[A-Za-z0-9]+(?:\\.[A-Za-z0-9])*@(?!Google\\.org|Yahoo\\.net)[A-Za-z0-9]+(?:\\.[A-Za-z0-9])*\\.\\w+$";
Regex demo