НАИМЕНОВАНИЕ
fnmatch -
сравнивает
имя файла
или путь
БИБЛИОТЕКА
Стандартная
библиотека
языка C (libc, -lc)
ОБЗОР
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
ОПИСАНИЕ
Функция
fnmatch()
проверяет,
совпадает
ли
параметр
string с
параметром
pattern, который
является
подстановочным
шаблоном
оболочки
(смотрите
glob(7)).
Аргумент
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 |
ПЕРЕВОД
Русский
перевод
этой
страницы
руководства
разработал(и)
Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh
<d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru>,
Иван
Павлов <pavia00@gmail.com>
и Kirill Rekhov <krekhov.dev@gmail.com>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.