/
^ (?&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}] (?&UTF8_tail){2}
| [\x{F1}-\x{F3}] (?&UTF8_tail){3}
| \x{F4} [\x{80}-\x{8F}] (?&UTF8_tail){2}
)
(?<VCHARWSP> [\x{21}-\x{7E}\ \t] )
(?<WSPCRLF> [\ \t\x{0D}\x{0A}] )
(?<address> (?&mailbox_list) | (?&group) )
(?<addr_spec> (?&local_part) @ (?&domain) )
(?<utf8_addr_spec>
(?&utf8_local_part) @ (?&utf8_domain)
)
(?<alt_address> (?&FWS) < (?&addr_spec) > )
(?<angle_addr> (?&CFWS)? <
(?: (?&addr_spec)
| (?&utf8_addr_spec) (?&alt_address)?
| (?&obs_route)? (?&addr_spec)