re = /(?<!\d)(?<!\d )(?:(?:\d *){13}|(?:\d *){10})(?<! )(?! ?\d)/m
str = '2442141411
One 2 442141411 two 24 42141411 three
2 44214141 1
2 6 9 32 2 3 8 376 67
2 6 9 32 2 3 87 77 67 8
2 6 9 32 2 3 8 37667
2442141411 123
2442141411 1
'
# 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