re = /0([7,8,9])([0,1])\d{8}$|234([7,8,9])([0,1])\d{8}$/m
str = '08062242801
+2340862242901
6754
2340862242901
+2348062242901
2349162242901
18062242901
08062242801
08262242801
08162242801
08562242801
080622428011
09162242801
07262242801
07062242801
09262242801
07562242801
06062242801
+2344045751111'
# 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