mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-10-31 14:18:32 +00:00 
			
		
		
		
	
		
			
	
	
		
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | // Regexps to match html elements
 | ||
|  | 
 | ||
|  | 'use strict'; | ||
|  | 
 | ||
|  | var attr_name     = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; | ||
|  | 
 | ||
|  | var unquoted      = '[^"\'=<>`\\x00-\\x20]+'; | ||
|  | var single_quoted = "'[^']*'"; | ||
|  | var double_quoted = '"[^"]*"'; | ||
|  | 
 | ||
|  | var attr_value  = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')'; | ||
|  | 
 | ||
|  | var attribute   = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)'; | ||
|  | 
 | ||
|  | var open_tag    = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; | ||
|  | 
 | ||
|  | var close_tag   = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; | ||
|  | var comment     = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->'; | ||
|  | var processing  = '<[?].*?[?]>'; | ||
|  | var declaration = '<![A-Z]+\\s+[^>]*>'; | ||
|  | var cdata       = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'; | ||
|  | 
 | ||
|  | var HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment + | ||
|  |                         '|' + processing + '|' + declaration + '|' + cdata + ')'); | ||
|  | var HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')'); | ||
|  | 
 | ||
|  | module.exports.HTML_TAG_RE = HTML_TAG_RE; | ||
|  | module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE; |