The
fnmatch()
function
matches patterns according to the 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_NOESCAPE
|
|
Normally, every occurrence of a backslash
(‘\’)
followed by a character in
pattern
is replaced by that character.
This is done to negate any special meaning for the character.
If the
FNM_NOESCAPE
flag is set, a backslash character is treated as an ordinary character.
|
FNM_PATHNAME
|
|
Slash characters in
string
must be explicitly matched by slashes in
pattern.
If this flag is not set, then slashes are treated as regular characters.
|
FNM_PERIOD
|
Leading periods in
string
must be explicitly matched by periods in
pattern.
If this flag is not set, then leading periods are treated as regular
characters.
The definition of
"leading"
is related to the specification of
FNM_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_DIR
|
|
Ignore
"/*"
rest after successful
pattern
matching.
|
FNM_CASEFOLD
|
|
Ignore case distinctions in both the
pattern
and the
string.
|