re = /^(?!.* )(?!.*[-,\/.]{2})(?!.*(?:[^\d\n]*\d){6})(?!.*([a-zA-Z])\1\1).{3,50}$/m
str = 'Time Square, Main Road, 2279
Time-Square, Main Road-2279
Time Square Main Road
Time Square, Main Road, 22798741313
Time Square, Main Road..
Time Square, Main Road//
Time Square Main Road,,
Time Square Main Road--
-------
--//
--/
ttttttttttttttttttttttttttt
/-/-/-/-
-/-
-/-
.,.
,-,
'
# 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