Compiling regex inside function?

Duncan Booth duncan.booth at invalid.invalid
Mon Aug 3 13:47:05 EDT 2009


alex23 <wuwei23 at gmail.com> wrote:

> The docs say:
> The compiled versions of the most recent patterns passed to re.match
> (), re.search() or re.compile() are cached, so programs that use only
> a few regular expressions at a time needn’t worry about compiling
> regular expressions.
> 
> (But they don't say how few is 'only a few'...)

If you're interested then it isn't all that hard to open up re.py in an 
editor and see that the cache holds up to 100 items. Of course that's just 
an implementation detail so other versions might have a different size 
cache.

Also implementation dependant, but it might be worth knowing that when you 
hit that limit the cache is simply cleared: there's no gradual clearing of 
the oldest or least used entries.



More information about the Python-list mailing list