]> granicus.if.org Git - python/commitdiff
Document the lookbehind assertions (closing bug#115119)
authorAndrew M. Kuchling <amk@amk.ca>
Thu, 5 Oct 2000 15:22:28 +0000 (15:22 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Thu, 5 Oct 2000 15:22:28 +0000 (15:22 +0000)
Doc/lib/libre.tex

index c6eca4d28f90a6f393eeb7c078be025ecf43d258..0c9df2aab4ed6937606d11582b1b39b3aa956a3d 100644 (file)
@@ -219,6 +219,21 @@ is a negative lookahead assertion.  For example,
 \regexp{Isaac (?!Asimov)} will match \code{'Isaac~'} only if it's \emph{not}
 followed by \code{'Asimov'}.
 
+\item[\code{(?<=...)}] Matches if the current position in the string
+is preceded by a match for \regexp{...} that ends at the current
+position.  This is called a positive lookbehind assertion.
+\regexp{(?<=abc)def} will match \samp{abcdef}, since the lookbehind
+will back up 3 characters and check if the contained pattern matches.
+The contained pattern must only match strings of some fixed length,
+meaning that \regexp{abc} or \regexp{a|b} are allowed, but \regexp{a*}
+isn't.
+
+\item[\code{(?<!...)}] Matches if the current position in the string
+is not preceded by a match for \regexp{...}.  This
+is called a negative lookbehind assertion.  Similar to positive lookbehind
+assertions, the contained pattern must only match strings of some
+fixed length.
+
 \end{list}
 
 The special sequences consist of \character{\e} and a character from the