Granted Noam Raphael's request for minor improvements to the re module and
its documentation. * Documented that the compiled re methods are supposed to be more full featured than their simpilified function counterparts. * Documented the existing start and stop position arguments for the findall() and finditer() methods of compiled regular expression objects. * Added an optional flags argument to the re.findall() and re.finditer() functions. This aligns their API with that for re.search() and re.match().
This commit is contained in:
parent
9fa544cfa3
commit
596ba4d89e
|
@ -424,8 +424,10 @@ re.compile("^a", re.M).search("ba", 1) # fails; no preceding \n
|
|||
\subsection{Module Contents}
|
||||
\nodename{Contents of Module re}
|
||||
|
||||
The module defines the following functions and constants, and an exception:
|
||||
|
||||
The module defines several functions, constants, and an exception. Some of the
|
||||
functions are simplified versions of the full featured methods for compiled
|
||||
regular expressions. Most non-trivial applications always use the compiled
|
||||
form.
|
||||
|
||||
\begin{funcdesc}{compile}{pattern\optional{, flags}}
|
||||
Compile a regular expression pattern into a regular expression
|
||||
|
@ -552,21 +554,23 @@ ignored.
|
|||
the old \function{regsub.split()} and \function{regsub.splitx()}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{findall}{pattern, string}
|
||||
\begin{funcdesc}{findall}{pattern, string\optional{, flags}}
|
||||
Return a list of all non-overlapping matches of \var{pattern} in
|
||||
\var{string}. If one or more groups are present in the pattern,
|
||||
return a list of groups; this will be a list of tuples if the
|
||||
pattern has more than one group. Empty matches are included in the
|
||||
result unless they touch the beginning of another match.
|
||||
\versionadded{1.5.2}
|
||||
\versionchanged[Added the optional flags argument]{2.4}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{finditer}{pattern, string}
|
||||
\begin{funcdesc}{finditer}{pattern, string\optional{, flags}}
|
||||
Return an iterator over all non-overlapping matches for the RE
|
||||
\var{pattern} in \var{string}. For each match, the iterator returns
|
||||
a match object. Empty matches are included in the result unless they
|
||||
touch the beginning of another match.
|
||||
\versionadded{2.2}
|
||||
\versionchanged[Added the optional flags argument]{2.4}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{sub}{pattern, repl, string\optional{, count}}
|
||||
|
@ -695,11 +699,13 @@ attributes:
|
|||
Identical to the \function{split()} function, using the compiled pattern.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[RegexObject]{findall}{string}
|
||||
\begin{methoddesc}[RegexObject]{findall}{string\optional{, pos\optional{,
|
||||
endpos}}}
|
||||
Identical to the \function{findall()} function, using the compiled pattern.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[RegexObject]{finditer}{string}
|
||||
\begin{methoddesc}[RegexObject]{finditer}{string\optional{, pos\optional{,
|
||||
endpos}}}
|
||||
Identical to the \function{finditer()} function, using the compiled pattern.
|
||||
\end{methoddesc}
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ def split(pattern, string, maxsplit=0):
|
|||
returning a list containing the resulting substrings."""
|
||||
return _compile(pattern, 0).split(string, maxsplit)
|
||||
|
||||
def findall(pattern, string):
|
||||
def findall(pattern, string, flags=0):
|
||||
"""Return a list of all non-overlapping matches in the string.
|
||||
|
||||
If one or more groups are present in the pattern, return a
|
||||
|
@ -164,16 +164,16 @@ def findall(pattern, string):
|
|||
has more than one group.
|
||||
|
||||
Empty matches are included in the result."""
|
||||
return _compile(pattern, 0).findall(string)
|
||||
return _compile(pattern, flags).findall(string)
|
||||
|
||||
if sys.hexversion >= 0x02020000:
|
||||
__all__.append("finditer")
|
||||
def finditer(pattern, string):
|
||||
def finditer(pattern, string, flags=0):
|
||||
"""Return an iterator over all non-overlapping matches in the
|
||||
string. For each match, the iterator returns a match object.
|
||||
|
||||
Empty matches are included in the result."""
|
||||
return _compile(pattern, 0).finditer(string)
|
||||
return _compile(pattern, flags).finditer(string)
|
||||
|
||||
def compile(pattern, flags=0):
|
||||
"Compile a regular expression pattern, returning a pattern object."
|
||||
|
|
|
@ -32,6 +32,11 @@ Extension modules
|
|||
Library
|
||||
-------
|
||||
|
||||
- re's findall() and finditer() functions now take an optional flags argument
|
||||
just like the compile(), search(), and match() functions. Also, documented
|
||||
the previously existing start and stop parameters for the findall() and
|
||||
finditer() methods of regular expression objects.
|
||||
|
||||
- rfc822 Messages now support iterating over the headers.
|
||||
|
||||
- The (undocumented) tarfile.Tarfile.membernames has been removed;
|
||||
|
|
Loading…
Reference in New Issue