Is 1 large Regex faster than 3 smaller ones?
Roy Smith
roy at panix.com
Sun Jun 3 17:28:33 EDT 2007
In article <1180896727.419817.303960 at p47g2000hsd.googlegroups.com>,
erikcw <erikwickstrom at gmail.com> wrote:
> Hi,
>
> I need to match 3 small strings in a small text file (about 200 words
> of text).
>
> Would it be faster to write 1 compiled regex that matches all 3
> substrings in one go, or to use 3 separate regular expressions to do
> the same job?
>
> Thanks!
> Erik
For a classic regex, the answer is one big one. Matching against a regex
takes time proportional to the number of characters of input. One big
regex will probably consume more memory, and may be slower to compile, but
it should run faster.
On the other hand, there are a lot of things that pattern maching libraries
accept these days under the guise of being a "regex" which are not strictly
regexes in the classic sense.
>From a purely practical point of view, if your input is only 200 words,
it's likely that the search time will be insignificant no matter what you
do.
More information about the Python-list
mailing list