]> granicus.if.org Git - python/commitdiff
Speed-up escape()
authorRaymond Hettinger <python@rcn.com>
Mon, 12 Sep 2005 22:50:37 +0000 (22:50 +0000)
committerRaymond Hettinger <python@rcn.com>
Mon, 12 Sep 2005 22:50:37 +0000 (22:50 +0000)
Lib/sre.py

index 7969723e3f44e22a1fa0a635270af8292d6655f8..a33e34e4e1edec058a9951214b8fe85c11458634 100644 (file)
@@ -188,12 +188,18 @@ def template(pattern, flags=0):
     "Compile a template pattern, returning a pattern object"
     return _compile(pattern, flags|T)
 
+_alphanum = {}
+for c in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890':
+    _alphanum[c] = 1
+del c
+
 def escape(pattern):
     "Escape all non-alphanumeric characters in pattern."
     s = list(pattern)
+    alphanum = _alphanum
     for i in range(len(pattern)):
         c = pattern[i]
-        if not ("a" <= c <= "z" or "A" <= c <= "Z" or "0" <= c <= "9"):
+        if c not in alphanum:
             if c == "\000":
                 s[i] = "\\000"
             else: