我有一个文本区域,用户输入一些电子邮件地址(必填)和姓名(可选)。我如何拆分字符串以获取电子邮件地址和名称的数组(或哈希),同时考虑到它可能包含错误?到目前为止,如果不允许任何名称,我可以将其拆分为数组:
emails = @request_feedback.emails.split("\r\n")
emails.each {|email|
if (email =~ /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i)
FeedbackMailer.get_feedback(current_user, email, employee_id).deliver
end
}
答案 0 :(得分:0)
您需要使用括号
在正则表达式中使用组emails.each {|email|
if (email =~ /\A([\w+\-.]+)@([a-z\d\-.]+)\.[a-z]+\z/i)
FeedbackMailer.get_feedback($1, email, $2).deliver
end
}