15 lines
367 B
JavaScript
15 lines
367 B
JavaScript
'use strict';
|
|
|
|
module.exports = options => {
|
|
options = Object.assign({
|
|
onlyFirst: false
|
|
}, options);
|
|
|
|
const pattern = [
|
|
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
|
|
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
|
|
].join('|');
|
|
|
|
return new RegExp(pattern, options.onlyFirst ? undefined : 'g');
|
|
};
|