【发布时间】:2019-09-14 19:14:56
【问题描述】:
我试图在 TCL 中的一个字符串中查找多个字符串模式。我无法找到正确且优化的方法。
我尝试了一些代码,但它不起作用
我必须在 -help 字符串中找到 -h ,-he,-hel ,-help
set args "-help"
set res1 [string first "-h" $args]
set res2 [ string first -he $args]
set res3 [string first -hel $args]
set res4 [string first "-help" $args"]
if { $res1 == -1 || $res2 || $res3 || $res4 } {
puts "\n string not found"
} else {
puts "\n string found"
}
这里我不确定如何使用正则表达式,所以需要一些输入。
预期的输出是
【问题讨论】:
-
欢迎,维安。您发布的 sn-p 无效,存在过多或不匹配的双引号。另外,你的问题我也不清楚。每个
string first都会找到您显示的模式,并将匹配的起始索引返回到干草堆字符串中(在您的示例中始终为0,因为每个模式都以索引0开头)。那么,有什么问题呢?
标签: tcl