/
^ (?&address) $
(?(DEFINE)
(?<ALPHANUMERICE>
[A-Za-z0-9!\#$%&'*+\-\/=?^_`{|}~]
)
(?<CFWS>
(?:
(?: (?&FWS)? (?&comment) )++
(?&FWS)?
)
| (?&FWS)
)
(?<FWS> (?&WSPCRLF)++ )
(?<UTF8_extra_char>
(?=[\x{C2}-\x{DF}\x{E0}-\x{EF}\x{F0}-\x{F4}])
(?: (?&UTF8_2) | (?&UTF8_3) | (?&UTF8_4) )
)
(?<UTF8_tail> [\x{80}-\x{BF}] )
(?<UTF8_2> [\x{C2}-\x{DF}] (?&UTF8_tail) )
(?<UTF8_3> \x{E0} [\x{A0}-\x{BF}] (?&UTF8_tail)
| [\x{E1}-\x{EC}] (?&UTF8_tail){2}
| \x{ED} [\x{80}-\x{9F}] (?&UTF8_tail)
| [\x{EE}\x{EF}] (?&UTF8_tail){2}
)
(?<UTF8_4> \x{F0} [\x{90}-\x{BF}]