1998-08-10 21:42:37 +02:00
|
|
|
\section{\module{fnmatch} ---
|
1999-06-10 23:23:31 +02:00
|
|
|
\UNIX{} filename pattern matching}
|
1998-07-23 19:59:49 +02:00
|
|
|
|
1999-03-16 17:40:01 +01:00
|
|
|
\declaremodule{standard}{fnmatch}
|
|
|
|
\modulesynopsis{\UNIX{} shell style filename pattern matching.}
|
1998-07-23 19:59:49 +02:00
|
|
|
|
1997-04-27 23:25:52 +02:00
|
|
|
|
2000-04-03 22:13:55 +02:00
|
|
|
\index{filenames!wildcard expansion}
|
|
|
|
|
1998-01-11 20:06:37 +01:00
|
|
|
This module provides support for \UNIX{} shell-style wildcards, which
|
|
|
|
are \emph{not} the same as regular expressions (which are documented
|
1999-03-16 17:40:01 +01:00
|
|
|
in the \refmodule{re}\refstmodindex{re} module). The special
|
|
|
|
characters used in shell-style wildcards are:
|
1998-02-16 22:37:58 +01:00
|
|
|
|
2000-04-03 22:13:55 +02:00
|
|
|
\begin{tableii}{c|l}{code}{Pattern}{Meaning}
|
|
|
|
\lineii{*}{matches everything}
|
|
|
|
\lineii{?}{matches any single character}
|
|
|
|
\lineii{[\var{seq}]}{matches any character in \var{seq}}
|
|
|
|
\lineii{[!\var{seq}]}{matches any character not in \var{seq}}
|
|
|
|
\end{tableii}
|
1997-04-27 23:25:52 +02:00
|
|
|
|
1998-01-11 20:06:37 +01:00
|
|
|
Note that the filename separator (\code{'/'} on \UNIX{}) is \emph{not}
|
1999-06-10 23:23:31 +02:00
|
|
|
special to this module. See module
|
|
|
|
\refmodule{glob}\refstmodindex{glob} for pathname expansion
|
2000-04-03 22:13:55 +02:00
|
|
|
(\refmodule{glob} uses \function{fnmatch()} to match pathname
|
|
|
|
segments). Similarly, filenames starting with a period are
|
|
|
|
not special for this module, and are matched by the \code{*} and
|
|
|
|
\code{?} patterns.
|
1997-04-27 23:25:52 +02:00
|
|
|
|
1997-11-30 06:53:22 +01:00
|
|
|
|
1998-01-11 20:06:37 +01:00
|
|
|
\begin{funcdesc}{fnmatch}{filename, pattern}
|
1997-04-27 23:25:52 +02:00
|
|
|
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
|
2000-04-03 22:13:55 +02:00
|
|
|
lower- or upper-case before the comparison is performed. If you
|
|
|
|
require a case-sensitive comparison regardless of whether that's
|
1998-02-16 22:37:58 +01:00
|
|
|
standard for your operating system, use \function{fnmatchcase()}
|
|
|
|
instead.
|
1997-04-27 23:25:52 +02:00
|
|
|
\end{funcdesc}
|
|
|
|
|
1998-01-11 20:06:37 +01:00
|
|
|
\begin{funcdesc}{fnmatchcase}{filename, pattern}
|
1997-04-27 23:25:52 +02:00
|
|
|
Test whether \var{filename} matches \var{pattern}, returning true or
|
2000-04-03 22:13:55 +02:00
|
|
|
false; the comparison is case-sensitive.
|
1997-04-27 23:25:52 +02:00
|
|
|
\end{funcdesc}
|
|
|
|
|
1999-03-16 17:40:01 +01:00
|
|
|
|
1998-01-11 20:06:37 +01:00
|
|
|
\begin{seealso}
|
2000-04-03 22:13:55 +02:00
|
|
|
\seemodule{glob}{\UNIX{} shell-style path expansion.}
|
1998-01-11 20:06:37 +01:00
|
|
|
\end{seealso}
|