Scroll to navigation

WILDMAT(3) Library Functions Manual WILDMAT(3)

NAME

wildmat - perform shell-style wildcard matching

SYNOPSIS

int
wildmat(text, pattern)
    char		*text;
    char		*pattern;

DESCRIPTION

Wildmat is part of libinn (3). Wildmat compares the text against the pattern and returns non-zero if the pattern matches the text. The pattern is interpreted according to rules similar to shell filename wildcards, and not as a full regular expression such as those handled by the grep(1) family of programs or the regex(3) or regexp(3) set of routines.

The pattern is interpreted as follows:

\x
Turns off the special meaning of x and matches it directly; this is used mostly before a question mark or asterisk, and is not special inside square brackets.
?
Matches any single character.
*
Matches any sequence of zero or more characters.
[x...y]
Matches any single character specified by the set x...y. A minus sign may be used to indicate a range of characters. That is, [0-5abc] is a shorthand for [012345abc]. More than one range may appear inside a character set; [0-9a-zA-Z._] matches almost all of the legal characters for a host name. The close bracket, ], may be used if it is the first character in the set. The minus sign, -, may be used if it is either the first or last character in the set.
[^x...y]
This matches any character not in the set x...y, which is interpreted as described above. For example, [^]-] matches any character other than a close bracket or minus sign.

HISTORY

Written by Rich $alz <rsalz@uunet.uu.net> in 1986, and posted to Usenet several times since then, most notably in comp.sources.misc in March, 1991.

Lars Mathiesen <thorinn@diku.dk> enhanced the multi-asterisk failure mode in early 1991.

Rich and Lars increased the efficiency of star patterns and reposted it to comp.sources.misc in April, 1991.

Robert Elz <kre@munnari.oz.au> added minus sign and close bracket handling in June, 1991.

This is revision 1.10, dated 1992/04/03.

SEE ALSO

grep(1), regex(3), regexp(3).