string match ? -nocase ? patternstring
如果string匹配pattern就返回1,否则返回0。如果指定了-nocase样式匹配将是大小写不敏感的。对于两个字符串,需要完全相同,除非在pattern中指定了下面的匹配风格:
% string match "string match" "string match"
1
1
匹配以string开头的字符串:
% string match "string*" "string match"
1
1
匹配string后面再有任意一个字符的字符串:
% string match "string?" "string "
1
1
[chars]匹配任何给定的char字符。如果是以x-y的形式出现则匹配x到y之间的所有字符。如果指定了-nocase,范围被扩展到小写字母,比如即使“_”并不在{[A-z]}中,{[A-z]}也匹配“_”,使用了-nocase后{[A-z]}被认为是{[A-Za-z]} 。
匹配三个字母:
% string match {[A-z][A-z][A-z]} "abc"
1
1
使用中括号时需要注意,这个符号对tcl有特殊的意义,所以需要用花括号括起来。
需要匹配一个单一字符或者特殊字符:(如果这个字符有特殊意义就不行,比如\x匹配x但是\t就不匹配t,建议在需要匹配特殊字符再使用)
% string match \? ?
1
1