Positive lookahead assertion

Paddy paddy3118 at netscape.net
Thu Sep 7 16:28:59 EDT 2006


tobiah wrote:
> (?=...)
> Positive lookahead assertion. This succeeds if the contained
> regular expression, represented here by ..., successfully
> matches at the current location, and fails otherwise.
> But, once the contained expression has been tried, the
> matching engine doesn't advance at all; the rest of the
> pattern is tried right where the assertion started.
>
> I am unable to wrap my mind around this sentence.  Could
> someone give me an example of how this works, and why
> it would be useful?
>
> Thanks,
>
> Toby
>
> --
> Posted via a free Usenet account from http://www.teranews.com
Its all about context. If you want to match something but only if it
precedes something else, then you follow the regular expression for
'something' by the regular expression for 'something else' where
`something else` is enclosed by (?=...)

The regular expression engine will surreptitiously check that
'something else' does indeed follow, before returning any match of
'something'.

Unfortunatley the above may be just as hard to decipher as the original
;-)

- Paddy.




More information about the Python-list mailing list