const regex = /((?:\\033|\e|\\x1B|\\x1b){1}(?:\[(?:=|\?|[0-9]*)[0-9]*[a-gA-GnmsuJKhlHL]{0,1}(?:(?:\;[0-9]*)*m){0,1}))/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('((?:\\\\033|\\e|\\\\x1B|\\\\x1b){1}(?:\\[(?:=|\\?|[0-9]*)[0-9]*[a-gA-GnmsuJKhlHL]{0,1}(?:(?:\\;[0-9]*)*m){0,1}))', 'g')
const 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`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions