今のところ、私はこの正規表現を使用しています:
^\A([a-z0-9\.\-_\+]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z$
あまり良くないと思います。では、jid を検証するための最適な正規表現は何ですか?
参考までに、XMPP コア標準のセクション 3では、Augmented Backus-Naur Form の JID を次のように定義しています。
jid = [ node "@" ] domain [ "/" resource ]
domain = fqdn / address-literal
fqdn = (sub-domain 1*("." sub-domain))
sub-domain = (internationalized domain label)
address-literal = IPv4address / IPv6address