- string match ?-nocase? pattern string
- * Matches any sequence of characters in string, including a null string.
- ? Matches any single character in string.
- [chars] Matches any character in the set given by chars. If a sequence of the form x-y appears in chars, then any character between x and y, inclusive, will match. When used with -nocase, the end points of the range are converted to lower case first. Whereas {[A-z]} matches '_' when matching case-sensitively ('_' falls between the 'Z' and 'a'), with -nocase this is considered like {[A-Za-z]} (and probably what was meant in the first place).
- \x Matches the single character x. This provides a way of avoiding the special interpretation of the characters *?[]\ in pattern.
LV Does string match use the same code as glob for this?No.
set hin [open "/tmp/sample.txt" "r"]
set data [read $hin]
close $hin
if [ string match -nocase "*test*" $data ] {
puts "Found test"
} else {
puts "Did not find test"
}