mirror of https://github.com/python/cpython
Add a caveat about boundary conditions and RE concatenation, so that the
documents do not make an overly-strong assertion about the properties of RE concatenation. Add an example of RE{m,} syntax and what it will and will not match.
This commit is contained in:
parent
c916cdc5ca
commit
51629c245a
|
@ -61,13 +61,14 @@ matches a particular string, which comes down to the same thing).
|
||||||
|
|
||||||
Regular expressions can be concatenated to form new regular
|
Regular expressions can be concatenated to form new regular
|
||||||
expressions; if \emph{A} and \emph{B} are both regular expressions,
|
expressions; if \emph{A} and \emph{B} are both regular expressions,
|
||||||
then \emph{AB} is also an regular expression. If a string \emph{p}
|
then \emph{AB} is also a regular expression. If a string \emph{p}
|
||||||
matches A and another string \emph{q} matches B, the string \emph{pq}
|
matches A and another string \emph{q} matches B, the string \emph{pq}
|
||||||
will match AB. Thus, complex expressions can easily be constructed
|
will match AB if \emph{A} and \emph{B} do no specify boundary
|
||||||
from simpler primitive expressions like the ones described here. For
|
conditions that are no longer satisfied by \emph{pq}. Thus, complex
|
||||||
details of the theory and implementation of regular expressions,
|
expressions can easily be constructed from simpler primitive
|
||||||
consult the Friedl book referenced below, or almost any textbook about
|
expressions like the ones described here. For details of the theory
|
||||||
compiler construction.
|
and implementation of regular expressions, consult the Friedl book
|
||||||
|
referenced below, or almost any textbook about compiler construction.
|
||||||
|
|
||||||
A brief explanation of the format of regular expressions follows. For
|
A brief explanation of the format of regular expressions follows. For
|
||||||
further information and a gentler presentation, consult the Regular
|
further information and a gentler presentation, consult the Regular
|
||||||
|
@ -138,9 +139,11 @@ not five.
|
||||||
\var{m} to \var{n} repetitions of the preceding RE, attempting to
|
\var{m} to \var{n} repetitions of the preceding RE, attempting to
|
||||||
match as many repetitions as possible. For example, \regexp{a\{3,5\}}
|
match as many repetitions as possible. For example, \regexp{a\{3,5\}}
|
||||||
will match from 3 to 5 \character{a} characters. Omitting \var{n}
|
will match from 3 to 5 \character{a} characters. Omitting \var{n}
|
||||||
specifies an infinite upper bound; you can't omit \var{m}. The comma
|
specifies an infinite upper bound; you can't omit \var{m}. As an
|
||||||
may not be omitted or the modifier would be confused with the
|
example, \regexp{a\{4,\}b} will match \code{aaaab}, a thousand
|
||||||
previously described form.
|
\character{a} characters followed by a \code{b}, but not \code{aaab}.
|
||||||
|
The comma may not be omitted or the modifier would be confused with
|
||||||
|
the previously described form.
|
||||||
|
|
||||||
\item[\code{\{\var{m},\var{n}\}?}] Causes the resulting RE to
|
\item[\code{\{\var{m},\var{n}\}?}] Causes the resulting RE to
|
||||||
match from \var{m} to \var{n} repetitions of the preceding RE,
|
match from \var{m} to \var{n} repetitions of the preceding RE,
|
||||||
|
|
Loading…
Reference in New Issue