我试图使用Tcl字符串匹配来匹配字符*,并且失败,使用前面的反斜杠并且没有它我可以用regexp来做,但是想知道是否有办法没有它。
如果失败,请参见下面的Tcl日志:
% puts [ string match {\*} {hop} ]
0
% puts [ string match {\*} {hop*} ]
0
% puts [ string match {*} {hop} ]
1
可以看出使用{*}只匹配所有内容,并且使用{\ *}与hop *
不匹配答案 0 :(得分:3)
您正在测试字符串等于一个*
。
% string match {\*} {hop*}
0
要测试字符串包含一个*
,您需要更多的全局:
% string match {*\**} {hop*}
1
或
% expr {[string first {*} {hop*}] > -1}
1