У меня большой список писем, по которым я работаю. Многие письма содержат опечатки. Я пытаюсь создать строку, которая будет проверять действительные электронные письма.
это то, что у меня есть для регулярных выражений.
def is_a_valid_email?(email)
(email =~ /^(([A-Za-z0-9]*\.+*_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Za-z0-9][email protected]{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i)
end
Это проходит, если письмо подчеркивает, и только один период. У меня много писем, в названии которых больше одного периода. Как мне проверить это в регулярном выражении.
[email protected] # <~~ valid
foo.bar#gmail.co.uk # <~~~ not valid
[email protected] # <~~~valid
[email protected] # <~~ not valid
[email protected] #<~~ valid
Может ли кто-нибудь помочь мне переписать мое регулярное выражение?