Я пытаюсь создать регулярное выражение для обнаружения действительного электронного письма. Я просмотрел несколько статей здесь о переполнении стека. Я также читал раздел 3.4.1 RF C 2822 , в котором описаны различные компоненты адреса электронной почты:
addr-spec = local-part "@" domain
local-part = dot-atom / quoted-string / obs-local-part
domain = dot-atom / domain-literal / obs-domain
domain-literal = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]
dcontent = dtext / quoted-pair
dtext = NO-WS-CTL / ; Non white space controls
%d33-90 / ; The rest of the US-ASCII
%d94-126 ; characters not including "[",
; "]", or "\"
В простом английском языке sh можно кто-нибудь объяснит определение выше? Позволяет ли это для электронной почты, такой как info@[192.168.0.1]
?
Я знаю, что мне не нужно заново изобретать колесо, и что есть хорошие библиотеки, которые я могу использовать для проверки электронной почты. Я просто хочу понять, как все работает под капотом.