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');
 | |
| };
 |