?
=?iso-8859-1?B?R3V5b24gTW9y6WU=?=
I have a function with some params including some data to be used with
re.sub and some other data which i want to use in the replacement.
I can provide re.sub with a callable, but this will only be called
with a match object, it's not possible to give it any of the other
params.
The solution I came up with to tackle this is with some funny globals,
which doesnt feel 'right':
--------------------------------------------------------------------------------------
import re
def test(data,pre,post):
p = re.compile("([0-9])")
global _pre, _post
_pre = pre
_post = post
def repl(m):
global _pre, _post
return _pre + m.group(1) + _post
print p.sub(repl, data)
number ->1<- test
--------------------------------------------------------------------------------------
Is there any other way to do this?
cheers,
Guyon Morée
http://gumuz.looze.net/
re.sub and some other data which i want to use in the replacement.
I can provide re.sub with a callable, but this will only be called
with a match object, it's not possible to give it any of the other
params.
The solution I came up with to tackle this is with some funny globals,
which doesnt feel 'right':
--------------------------------------------------------------------------------------
import re
def test(data,pre,post):
p = re.compile("([0-9])")
global _pre, _post
_pre = pre
_post = post
def repl(m):
global _pre, _post
return _pre + m.group(1) + _post
print p.sub(repl, data)
number ->1<- test
--------------------------------------------------------------------------------------
Is there any other way to do this?
cheers,
Guyon Morée
http://gumuz.looze.net/