可以匹配角色*和?在Tcl中使用字符串匹配?

时间:2015-01-08 17:23:53

标签: string tcl match

我试图使用Tcl字符串匹配来匹配字符*,并且失败,使用前面的反斜杠并且没有它我可以用regexp来做,但是想知道是否有办法没有它。
如果失败,请参见下面的Tcl日志:

% puts [ string match {\*} {hop} ]
0
% puts [ string match {\*} {hop*} ]
0
% puts [ string match {*} {hop} ]
1

可以看出使用{*}只匹配所有内容,并且使用{\ *}与hop *

不匹配

1 个答案:

答案 0 :(得分:3)

您正在测试字符串等于一个*

% string match {\*} {hop*} 
0

要测试字符串包含一个*,您需要更多的全局:

% string match {*\**} {hop*} 
1

% expr {[string first {*} {hop*}] > -1}
1