A regular expression can match text and capture useful parts.

Regex Match

regex_match.rb
email = 

match = email.match(/\A([^@]+)@([^@]+)\z/)

if match
  puts "user=#{match[1]}"
  puts "domain=#{match[2]}"
else
  puts "email=invalid"
end
email = 

match = email.match(/\A([^@]+)@([^@]+)\z/)

if match
  puts "user=#{match[1]}"
  puts "domain=#{match[2]}"
else
  puts "email=invalid"
end
email = 

match = email.match(/\A([^@]+)@([^@]+)\z/)

if match
  puts "user=#{match[1]}"
  puts "domain=#{match[2]}"
else
  puts "email=invalid"
end
regex capture Parentheses in a regular expression capture part of a match for later use.