Regexp parser and generator

George Sakkis george.sakkis at gmail.com
Wed Nov 5 22:15:15 EST 2008


On Nov 4, 3:30 pm, Peter Otten <__pete... at web.de> wrote:

> George Sakkis wrote:
> > Is there any package that parses regular expressions and returns an
> > AST ? Something like:
>
> >>>> parse_rx(r'i (love|hate) h(is|er) (cat|dog)s?\s*!+')
> > Regex('i ', Or('love', 'hate'), ' h', Or('is', 'er'), ' ', Or('cat',
> > 'dog'), Optional('s'), ZeroOrMore(r'\s'), OneOrMore('!'))
>
> Seen today, on planet python:
>
> >>> import sre_parse
> >>> sre_parse.parse("a|b")
>
> [('in', [('literal', 97), ('literal', 98)])]
>
> Peter

Thanks, that's rather low level and undocumented but it does the work.

Best,
George



More information about the Python-list mailing list