---
name: "StrMatch"
section: "3"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/StrMatch"
---

# StrMatch(3)

test whether a string matches a pattern

## NAME

Tcl\_StringMatch, Tcl\_StringCaseMatch - test whether a string matches a pattern

## SYNOPSIS

```
#include <tcl.h>

int
Tcl_StringMatch(str, pattern)

int
Tcl_StringCaseMatch(str, pattern, flags)
```

## ARGUMENTS

String to test. Pattern to match against string.  May contain special characters from the set \*?\\\[\]. OR-ed combination of match flags, currently only **TCL\_MATCH\_NOCASE**. 0 specifies a case-sensitive search.

## DESCRIPTION

This utility procedure determines whether a string matches a given pattern.  If it does, then **Tcl\_StringMatch** returns 1.  Otherwise **Tcl\_StringMatch** returns 0.  The algorithm used for matching is the same algorithm used in the **string match** Tcl command and is similar to the algorithm used by the C-shell for file name matching;  see the Tcl manual entry for details.

In **Tcl\_StringCaseMatch**, the algorithm is the same, but you have the option to make the matching case-insensitive. If you choose this (by passing **TCL\_MATCH\_NOCASE**), then the string and pattern are essentially matched in the lower case.

## KEYWORDS

match, pattern, string
