'use strict';
-module.exports = options => {
- options = Object.assign({
- onlyFirst: false
- }, options);
-
+module.exports = ({onlyFirst = false} = {}) => {
const pattern = [
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[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');
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
};