re = /^([A-Za-z0-9\\\/_\-]|([A-Za-z0-9\\\/_\-][A-Za-z0-9\\\/_\- ]{0,18}[A-Za-z0-9\\\/_\-]))$/m
str = 'kkdkd df sdf lk aj33
12345678901234567890
kjlf l-Ka034-/\\_ kj0
adsfdsafsdaf dsfsdfa
dlASjd83_-/\\dfdsfsda
adsfsdas sdafsdafsa
73jkjdfKJH_/\\-_saf97
dsfsdf
2
11
111
- dsf
-df
/dsaf
\\asdf
_asdf
_ sdfjlksdaflk jasdf
adsfsdas sdafsdafs#
adsfsdafsdfsdfsadds
dddddddfsdafljkasdd
$
123456789012345678901
asdf
2
2
'
# 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