| FNMATCH(3) | Library Functions Manual | FNMATCH(3) |
fnmatch — match
filename or pathname using shell globbing rules
#include
<fnmatch.h>
int
fnmatch(const
char *pattern, const char
*string, int
flags);
The
fnmatch()
function matches patterns according to the globbing rules used by the shell.
It checks the string specified by the string argument
to see if it matches the pattern specified by the
pattern argument.
The flags argument modifies the
interpretation of pattern and
string. The value of flags is
the bitwise inclusive OR of any of the following constants, which are
defined in the include file
<fnmatch.h>.
FNM_NOESCAPEFNM_NOESCAPE flag is set, a backslash
character is treated as an ordinary character.FNM_PATHNAMEFNM_PERIODFNM_PATHNAME. A period is always leading if it is
the first character in string. Additionally, if
FNM_PATHNAME is set, a period is leading if it
immediately follows a slash.FNM_LEADING_DIRFNM_CASEFOLDThe fnmatch() function returns zero if
string matches the pattern specified by
pattern, otherwise, it returns the value
FNM_NOMATCH.
The fnmatch() function conforms to
IEEE Std 1003.2-1992 (“POSIX.2”) and
X/Open Portability Guide Issue 4, Version 2
(“XPG4.2”).
Note, however, that the flags
FNM_LEADING_DIR and
FNM_CASEFOLD are extensions and should not be used
by applications striving for strict standards conformance.
A predecessor to fnmatch(),
gmatch(), first appeared in the Programmer's
Workbench (PWB/UNIX). The fnmatch() function first
appeared in 4.3BSD-Reno.
The pattern ‘*’ matches the
empty string, even if FNM_PATHNAME is specified.
| July 30, 2022 | openbsd |