creating an (inefficent) alternating regular expression from a list of options

Nick Craig-Wood nick at
Tue Sep 9 16:36:24 CEST 2008 <metaperl at> wrote:
>  Pyparsing has a really nice feature that I want in PLY. I want to
>  specify a list of strings and have them converted to a regular
>  expression.
>  A Perl module which does an aggressively optimizing job of this is
>  Regexp::List -
>  I really dont care if the expression is optimal. So the goal is
>  something like:
>  vowel_regexp = oneOf("a aa i ii u uu".split())  # yielding r'(aa|a|uu|
>  u|ii|i)'
>  Is there a public module available for this purpose?

I wrote one of these in perl a while ago

It transforms the regular expression recursively into more efficient
ones.  It uses regular expressions to do that.  I considered porting
it to python but looking at the regular expressions made me feel weak
at the knees ;-)

Nick Craig-Wood <nick at> --

More information about the Python-list mailing list