re = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/m
str = 'vinamra@gmail.com
vinm@fmmao.com
vin @ . com
vdd@us.com.com
sh sha @cc.com
vin@dnsldfnsdlfsnflsnslfnd.com
ddd@11.com
sdf@ff.com
as@com
john @gmail.com
Akasdfgnqwefujqfj^1234!1k@gmail.com
T1hisi4snot5anem6ail@mcd.com
John.Smith@mcd.com
Joe.Smith@cmd.com
test
@ .
john @bkla.com
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html