re = /^[@#](?=.{7,13}$)(?=\w{7,13})(?=[^aeiou_]{7,13})(?=.*[A-Z])(?=.*\d)/m
str = '@abgWds1
[rth521q
#mKK51d7
@WW65
@Ssgw_32
#kTl45e7
#kTl45z7
#kTlfvcr
#fg48Ehs
@rt51gwq
#456wrWE
#456wrW
#456w!!E
@fz6P$ww
@qz6P$wwazvbbneeeeeeeeeeeeeeeeeeeeee
@qz6PSwwszvbbn
@qz6PSwwszvbbneee'
# 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