---
name: "wildmat"
section: "3"
platform: "linux"
package: "inn"
version: "1:1.7.2q-52"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/wildmat"
---

# wildmat(3)

perform shell-style wildcard matching

## 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)](/grep/1.md) family of programs or the [*regex*(3)](/regex/3.md) or [*regexp*(3)](/regexp/3.md) 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)](/grep/1.md), [regex(3)](/regex/3.md), [regexp(3)](/regexp/3.md).
