[Python-Dev] pre-PEP: Complete, Structured Regular Expression
mwh at python.net
Fri Aug 6 16:36:11 CEST 2004
Mike Coleman <mkc at mathdogs.com> writes:
> If you've ever been frustrated that there wasn't an easy way to parse a string
> or file, even though you could easily match it with re.match, then this PEP
> may be for you. If what's being proposed seems a little ghastly, well, I'll
> just say that I've been wanting something like this for a long time and this
> is the best I could come up with. Your comments invited.
Generally, it strikes me as mildly useful. An implementation would
surely help :-)
Presumably 'structmatch' would also become a metho on pattern objects?
> Additional Features
> In many cases in which ``'re.structmatch'`` fails to match, the cause will
> be due to an unexpected error in the format of the string being
> matched. In order to assist the calling program in generating a more
> meaningful possible error message, ``'re.structmatch'`` will return the
> endpoint of the largest match against the searched string. So, for
> example ::
> re.structmatch('abcd', 'abxxx') --> 2
> re.structmatch('abcde|z', 'abxxx') --> 2
> re.structmatch('x*?y', 'xxx') --> 3
> (This return value should be considered advisory rather than exact, as
> future improvements in the match algorithm may make it difficult to
> calculate the exact value.)
I don't really like this idea; it seems to be that it would be more
helpful to raise an exception and attach this data to the exception.
But that's a bit inconsisent with how match and search work.
I have a cat, so I know that when she digs her very sharp claws into
my chest or stomach it's really a sign of affection, but I don't see
any reason for programming languages to show affection with pain.
-- Erik Naggum, comp.lang.lisp
More information about the Python-Dev