re = /(?=\d++[A-Za-z]+[\w@]+|[a-zA-Z]++[\w@]+)[\w@]{2,}/
str = 'Should match:
h1DF346 123FE453 3f3g6hj7j5v3 hasdf@asdf r3 r@
Should not match:
555555 @ hello onlyletters Jan 123@ @@@'
# 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