This section describes how to match a wildcard pattern against a particular string. The result is a yes or no answer: does the string fit the pattern or not. The symbols described here are all declared in fnmatch.h.
Preliminary: | MT-Safe env locale | AS-Unsafe heap | AC-Unsafe mem | See POSIX Safety Concepts.
This function tests whether the string string matches the pattern pattern. It returns
0if they do match; otherwise, it returns the nonzero valueFNM_NOMATCH. The arguments pattern and string are both strings.The argument flags is a combination of flag bits that alter the details of matching. See below for a list of the defined flags.
In the GNU C Library,
fnmatchmight sometimes report “errors” by returning nonzero values that are not equal toFNM_NOMATCH.
These are the available flags for the flags argument:
FNM_FILE_NAMEFNM_PATHNAMEFNM_FILE_NAME; it comes from POSIX.2. We
don't recommend this name because we don't use the term “pathname” for
file names.
FNM_PERIODIf you set both FNM_PERIOD and FNM_FILE_NAME, then the
special treatment applies to ‘.’ following ‘/’ as well as to
‘.’ at the beginning of string. (The shell uses the
FNM_PERIOD and FNM_FILE_NAME flags together for matching
file names.)
FNM_NOESCAPEIf you use FNM_NOESCAPE, then ‘\’ is an ordinary character.
FNM_LEADING_DIRIf this flag is set, either ‘foo*’ or ‘foobar’ as a pattern
would match the string ‘foobar/frobozz’.
FNM_CASEFOLDFNM_EXTMATCH|
separated list of patterns.
?(pattern-list)*(pattern-list)+(pattern-list)@(pattern-list)!(pattern-list)