Я давал это регулярное выражение /\A[\w+\-.][email protected][a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]{2,}\z/
, и я должен использовать его для проверки действительности адреса электронной почты.Метод совпадения Ruby Regex
Это мой первый код Ruby, и я не уверен, как это сделать. Мне сказали использовать метод .match
, который возвращает объект MatchData
. Но как я могу проверить, что объект MatchData
подтверждает достоверность?
Я попытался использовать следующее, но кажется, что он принимает любую строку, даже не адрес электронной почты.
#Register new handler
def register_handler
email_regex = /\A[\w+\-.][email protected][a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]{2,}\z/
email = "invalid"
unless email =~ email_regex then
puts("Insert your e-mail address:")
email = gets
end
puts("email received")
end
Каков правильный способ сделать это? Либо используйте .match
, либо метод, который я попытался сделать выше.