私はこの正規表現/\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
または上記の方法を使用してください。