alex23 wrote:
Anthra Norell <[email protected]> wrote:def entries (l): r = re.compile ('([0-9]+) entr(y|ies)') match = r.search (l) if match: return match.group (1)So the question is: does "r" get regex-compiled once at py-compile time or repeatedly at entries() run time?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 concerned about it, you could always set the compiled pattern to a default value in the function's argspec, as that _is_ only executed the once: def entries(line, regex = re.compile('([0-9]+) entr(y|ies)'): match = regex.search(line) ...
Excellent idea! Thank you all for the tips. Frederic -- http://mail.python.org/mailman/listinfo/python-list
