fnmatch - сравнивает имя файла или путь
fnmatch(3)
сравнивает имя файла или путь
ОБЗОР
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
ОПИСАНИЕ
Функция
fnmatch() проверяет, совпадает ли параметр
string с параметром
pattern, который является шаблоном.
Аргумент flags изменяет поведение; он является битовой маской и может
содержать следующие флаги:
FNM_NOESCAPE
Если этот флаг установлен, то обратная косая черта воспринимается как
простой символ, а не специальный.
FNM_PATHNAME
Если этот флаг установлен, то косая черта в строке string будет совпадать
только с косой чертой в шаблоне pattern, но не с метасимволом звёздочка
(*) или вопросительным знаком (?) и не последовательностью в квадратных
скобках ([]), содержащую косую черту.
FNM_PERIOD
Если этот флаг установлен, то начальная точка в строке string должна
сравниваться именно с точкой в шаблоне pattern. Точка считается
начальной, если она является первым символом в строке string, или если
установлен флаг FNM_PATHNAME и точка следует сразу за косой чертой.
FNM_FILE_NAME
Синоним FNM_PATHNAME в GNU.
FNM_LEADING_DIR
Если этот флаг (расширение GNU) установлен, то строка считается совпавшей с
шаблоном, если совпадает начальный сегмент строки string, который следует
сразу за косой чертой. Этот флаг для внутреннего использования glibc и не
всегда реализуется.
FNM_CASEFOLD
Если этот флаг (расширение GNU) установлен, то выражения сравниваются без
учёта регистра символов.
FNM_EXTMATCH
Если этот флаг (расширение GNU) установлен, то поддерживаются расширенные
шаблоны из 'ksh' и теперь поддерживаемые другими оболочками. В расширенном
формате pattern-list предоставляет собой список шаблонов, разделённых
'|', входит следующее:
'?(pattern-list)'
Шаблон совпадает, если ноль или одно вхождение любого шаблона в
pattern-list совпадает с входной строкой string.
'*(pattern-list)'
Шаблон совпадает, если ноль или более вхождений любых шаблонов в
pattern-list совпадает с входной строкой string.
'+(pattern-list)'
Шаблон совпадает, если одно или более вхождений любых шаблонов в
pattern-list совпадает с входной строкой string.
'@(pattern-list)'
Шаблон совпадает, если только одно вхождение любого шаблона в
pattern-list совпадает с входной строкой string.
'!(pattern-list)'
Шаблон совпадает, если входная строка string не совпадает с каким-либо
шаблоном в pattern-list.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает ноль, если строка
string совпадает с шаблоном
pattern,
возвращает
FNM_NOMATCH, если строка и шаблон не совпадают, или другое
ненулевое значение, если произошла ошибка.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
fnmatch()
безвредность в потоках: безвредно (MT-Safe env locale)
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, POSIX.2. Флаги
FNM_FILE_NAME,
FNM_LEADING_DIR и
FNM_CASEFOLD являются расширениями GNU.