summaryrefslogtreecommitdiffstats
path: root/Doc/libfnmatch.tex
blob: cb1684eeb39df78fd2a835760cf8adc93a8050ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
\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 \module{re}\refstmodindex{re} module).  The special characters
used in shell-style wildcards are:

\begin{list}{}{\leftmargin 0.5in \labelwidth 0.45in}
\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{list}

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


\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 \function{fnmatchcase()}
instead.
\end{funcdesc}

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

\begin{seealso}
\seemodule{glob}{Shell-style path expansion}
\end{seealso}