Для чего-то такого же устоявшегося, как формат адреса электронной почты, разница между двумя подходами ничтожна. Опять же, пятьдесят лет назад люди никогда не видели необходимости использовать 4 цифры для кодирования лет, поэтому ...
Единственный «подводный камень» использования регулярного выражения от Apache Commons заключается в том, что его функциональность для проверки адреса электронной почты не является «стандартом Java». Насколько это влияет на вас как на разработчика? зависит от того, насколько ты параноик.
С другой стороны, стандартная реализация Java может быть менее эффективной. Вам нужно будет создать InternetAddress
и проверить его. Глядя на исходный код JavaMail, я мог видеть это:
/**
* Check that the address is a valid "mailbox" per RFC822.
* (We also allow simple names.)
*
* XXX - much more to check
* XXX - doesn't handle domain-literals properly (but no one uses them)
*/
(Кажется, XXX
- это что-то вроде заметки или предмета "делать")