\section{Standard Module \sectcode{fnmatch}}
\label{module-fnmatch}
\stmodindex{fnmatch}

This module provides support for Unix shell-style wildcards, which are
\emph{not} the same as regular expressions (which are
documented in the \code{re} module).  The special characters used
in shell-style wildcards are:
\begin{itemize}
\item[\code{*}] matches everything
\item[\code{?}]	matches any single character
\item[\code{[}\var{seq}\code{]}] matches any character in \var{seq}
\item[\code{[!}\var{seq}\code{]}] matches any character not in \var{seq}
\end{itemize}

Note that the filename separator (\code{'/'} on Unix) is \emph{not}
special to this module.  See module \code{glob} for pathname expansion
(\code{glob} uses \code{fnmatch} to match filename segments).

\renewcommand{\indexsubitem}{(in module fnmatch)}

\begin{funcdesc}{fnmatch}{filename\, pattern}
Test whether the \var{filename} string matches the \var{pattern}
string, returning true or false.  If the operating system is
case-insensitive, then both parameters will be normalized to all
lower- or upper-case before the comparision is performed.  If you
require a case-sensitive comparision regardless of whether that's
standard for your operating system, use \code{fnmatchcase()} instead.
\end{funcdesc}

\begin{funcdesc}{fnmatchcase}{}
Test whether \var{filename} matches \var{pattern}, returning true or
false; the comparision is case-sensitive.
\end{funcdesc}

\begin{funcdesc}{translate}{pattern}
Translate a shell pattern into a corresponding regular expression,
returning a string describing the pattern.  It does not compile the
expression.  \strong{Version note:} in Python 1.4 and earlier, this
function translated to \code{regex} (Emacs style) regular expressions;
in 1.5 and later, it translates to \code{re} (Perl style) regular
expressions.
\end{funcdesc}

