Tcl:匹配反斜杠的字符串

Tcl: string matching the backslash

如何在 Tcl 中匹配反斜杠 \?我做了以下事情:

% set a "\"
\
% string length $a
1
% string match $a "\"
0
% string match "\" "\"
0
% string match $a \
0
% string match $a [set x "\"]
0

但是如上所述 none 其中有帮助。我想匹配 $a.

如果您查看 string match documentation 中的 "Pattern Ending in Backslash" 部分,它会显示:

A pattern ending in a backslash doesn't match a string ending in a backslash. Bug?
string match a\ a\
# -> 0

虽然使用 string equal 有效:

% string equal $a "\"
1

正确的匹配方式是

string match {[\]} \
# => 1
string match {a[\]} a\
# => 1

文档:string

(注:评论里的'Hoodiecrow'是我,我之前用过那个nick。)