Be more permissive in what is accepted as an attribute name; this makes
this module slightly more resiliant in the face of XHTML input, or just
colons in attribute names.
diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py
index fe91c1b..5ff9f70 100644
--- a/Lib/sgmllib.py
+++ b/Lib/sgmllib.py
@@ -36,7 +36,7 @@
 commentclose = re.compile(r'--\s*>')
 tagfind = re.compile('[a-zA-Z][-_.a-zA-Z0-9]*')
 attrfind = re.compile(
-    r'\s*([a-zA-Z_][-.a-zA-Z_0-9]*)(\s*=\s*'
+    r'\s*([a-zA-Z_][-:.a-zA-Z_0-9]*)(\s*=\s*'
     r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./:;+*%?!&$\(\)_#=~\'"]*))?')
 
 decldata = re.compile(r'[^>\'\"]+')