Regular expressions: recursive patterns and callouts

C

Carlos

Hi!
I think two extensions to re could be really powerful in aiding to
match non regular strings -for example those containing parens nested
up to an arbitrary depth- but without a significative performance loss,
although I'm not at all sure at this last point. One of these features
is re nesting; I don't mean nesting some strings and then compiling the
composed re, but to include -possibly recursive- references to other
re's. The second feature is the ability to add callout points in a re,
so external functions would be called when the matcher reaches those
points to validate the current matched prefix or even to do some
arbitrary further matching of its own, advancing the pattern position.
pcre implements similar features with its (?CN) callout and (?N)
recursive patterns mechanisms.
Are the above or equivalent features planned for future python
releases?
Do you know of some extension package which provide them or at least
pcre compatible res?
Thank you in advance,
Carlos
 
P

Paul McGuire

Carlos said:
Hi!
I think two extensions to re could be really powerful in aiding to
match non regular strings -for example those containing parens nested
up to an arbitrary depth- but without a significative performance loss,
although I'm not at all sure at this last point. One of these features
is re nesting; I don't mean nesting some strings and then compiling the
composed re, but to include -possibly recursive- references to other
re's. The second feature is the ability to add callout points in a re,
so external functions would be called when the matcher reaches those
points to validate the current matched prefix or even to do some
arbitrary further matching of its own, advancing the pattern position.
pcre implements similar features with its (?CN) callout and (?N)
recursive patterns mechanisms.
Are the above or equivalent features planned for future python
releases?
Do you know of some extension package which provide them or at least
pcre compatible res?
Thank you in advance,
Carlos

Pyparsing supports both parse-time callouts (called "parse actions") and
recursive grammar definitions.

Download pyparsing at http://pyparsing.sourceforge.net.

-- Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top