Can somebody explain why it has to be so long? Are there so many special cases?
In brief, the address specification may look like the simple "local" @ "domain", but those subparts can be non-regular (i.e., making them hard/impossible for a regular expression engine to parse) or contain a lot of exceptions (e.g., the domain could be google.com, or it could be 12.34.56.78, or localhost, or a number of other things).
(See the above posters link: https://nikic.github.io/2012/06/15/The-true-power-of-regular...)