Speed-up escape()
This commit is contained in:
parent
d430726b82
commit
ebb7f30111
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue