mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			16 lines
		
	
	
	
		
			645 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
	
		
			645 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
 | |
| # This was taken from http://python.org/sf/1541697
 | |
| # It's not technically a crasher.  It may not even truly be infinite,
 | |
| # however, I haven't waited a long time to see the result.  It takes
 | |
| # 100% of CPU while running this and should be fixed.
 | |
| 
 | |
| import re
 | |
| starttag = re.compile(r'<[a-zA-Z][-_.:a-zA-Z0-9]*\s*('
 | |
|         r'\s*([a-zA-Z_][-:.a-zA-Z_0-9]*)(\s*=\s*'
 | |
|         r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~@]'
 | |
|         r'[][\-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~\'"@]*(?=[\s>/<])))?'
 | |
|     r')*\s*/?\s*(?=[<>])')
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     foo = '<table cellspacing="0" cellpadding="0" style="border-collapse'
 | |
|     starttag.match(foo)
 | 
