You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 lines
317 B

4 years ago
  1. 'use strict';
  2. module.exports = ({onlyFirst = false} = {}) => {
  3. const pattern = [
  4. '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
  5. '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
  6. ].join('|');
  7. return new RegExp(pattern, onlyFirst ? undefined : 'g');
  8. };