Само выражение:
([^@]{1}|^)(@[a-zA-z\.\d]+)
Пример:
https://regex101.com/r/9hfuzi/2/
Из вопроса:
Как правильно составить регулярное выражение на php?
1. Нужно исключить после @ точку (".") -
@.test (исключить)
2. Нужно исключить повторение в середине точки (".") более 1 раза (> 1) -
@test..test (исключить)
3. Нужно исключить точку в конце искомого выражения
@test. (исключить)