re = /((?:\\033|\e|\\x1B|\\x1b){1}(?:\[(?:=|\?|[0-9]*)[0-9]*[a-gA-GnmsuJKhlHL]{0,1}(?:(?:\;[0-9]*)*m){0,1}))/
str = '0x7ffff00196a0 "\\r\\r\\r\\033[9999B[\\033[m\\033[36madmin\\033[m@\\033[m\\033[32mLeonards_switch\\033[m] > "
\\r routerboard: yes\\r\\n model: CRS112-8P-4S\\r\\n revision: r2\\r\\n serial-number: F1 4F0FC0637C\\r\\n firmware-type: qca8513 L \\r \\n f a c t o r y - f i r m w a r e : 6 . 4 7 . 1 0 \\r \\n c u r r e n t - f i r m w a r e : 6 . 4 7 . 1 0 \\r \\n u p g r a d e - f i r m w a r e : 6 . 4 7 . 1 0 \\r
\\x1b[1;31mHello \\x1b[2;37;41mWorld
\\033[38;2;1;22;252m
\\033[38;5;5m
\\033[48;5;5m
\\033[48;2;15;251;3m
\\033[0J
\\033[J
\\033[1J
\\033[3J
\\033[K
\\033[0K
\\033[u
\\033[s
\\033[8
\\033[7
\\033[m
\\033[6n
\\033[5G
\\033[=14h
\\033[=15l
\\033[?25h
\\033[?1049l'
# 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