Tcl_StringMatch(), Tcl_StringCaseMatch()

test whether a string matches a pattern 

Tcl Library Procedures


#include <tcl.h>

int Tcl_StringMatch(string, pattern)

Tcl_StringCaseMatch(string, pattern, nocase)


char *string (in) 

String to test.

char *pattern (in) 

Pattern to match against string. May contain special characters from the set *?\[].

int nocase (in) 

Specifies whether the match should be done case-sensitive (0) or case-insensitive (1).


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 reference page 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 nocase as 1), then the string and pattern are essentially matched in the lower case.


Windows Server 2012. Windows 8.1. Windows Server 2012 R2. Windows 10. Windows Server 2016. Windows Server 2019.


PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition

PTC MKS Toolkit 10.3 Documentation Build 39.