re = /\bcat(?!12\b)\d+/m
str = 'cat3 YES
cat12 NO
cat43 YES
cat18 YES
rel97 NO
cat NO
cat36 YES
cat14 YES
cat121
cat123
cat13
cat10
cat11
cat13
cat100
cat10099
cat130
cat120'
# 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