re = /((([\w]+\S)@([a-zA-Z]*)(?!.))|((\d)+@([a-zA-Z]{4}+0[a-zA-Z0-9]{6}+)+.+IFSC+.NPCI))/
str = 'anaghvj@yesbank.com
anaghvj@yesbank
123@yesbank
123@211.com
123.hdfc
123@HDFCBANK
anagh12@yesbank.com
123@ifsc.NPCI.UPI
1234
@dsds
sadasdsa.com
1234567@BARB0VNKOTA.IFSC.NPCI
12s2e3e@yebank.IFSC.NPCI
abnana@BARB0VNKOTA
'
# 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