

# 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)

