comparison Lib/HTMLParser.py @ 69160:7d4dea76c476 2.7

#7311: fix HTMLParser to accept non-ASCII attribute values.
author Ezio Melotti
date Tue, 05 Apr 2011 20:40:52 +0300
parents 05cccd4257a2
children 02a4535c0a6c
comparison
equal deleted inserted replaced
69153:c10d55c51d81 69160:7d4dea76c476
24 piclose = re.compile('>') 24 piclose = re.compile('>')
25 commentclose = re.compile(r'--\s*>') 25 commentclose = re.compile(r'--\s*>')
26 tagfind = re.compile('[a-zA-Z][-.a-zA-Z0-9:_]*') 26 tagfind = re.compile('[a-zA-Z][-.a-zA-Z0-9:_]*')
27 attrfind = re.compile( 27 attrfind = re.compile(
28 r'\s*([a-zA-Z_][-.:a-zA-Z_0-9]*)(\s*=\s*' 28 r'\s*([a-zA-Z_][-.:a-zA-Z_0-9]*)(\s*=\s*'
29 r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~@]*))?') 29 r'(\'[^\']*\'|"[^"]*"|[^\s"\'=<>`]*))?')
30 30
31 locatestarttagend = re.compile(r""" 31 locatestarttagend = re.compile(r"""
32 <[a-zA-Z][-.a-zA-Z0-9:_]* # tag name 32 <[a-zA-Z][-.a-zA-Z0-9:_]* # tag name
33 (?:\s+ # whitespace before attribute name 33 (?:\s+ # whitespace before attribute name
34 (?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name 34 (?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name