我有一个名为参数的列表,此列表的内容可能不同,但它看起来像:
webservices-extra.jar
webservices-extra-api.jar
webservices-rt.jar
webservices-tools.jar
此列表来自阅读文件并已完成一些预先格式化。我只想获取var1的值并将其存储在变量中。例如,介于两者之间的任何东西' ='标志和';'签名但仅适用于var1(在本例中为数字2)。同样,我可以删除所有不匹配的行' var1'。
答案 0 :(得分:0)
假设您的parameters
列表已设置,您可以执行以下操作:
foreach item $parameters {
if {[regexp "var1\\s*=\\s*(\\w+);" $item wholeMatch myVal]} {
break
}
}
puts "value is '$myVal'"
我使用的正则表达式允许等号前后的可选空格。请查看Tcl's regex syntax并根据需要进行调整。
使用整个文件进行正则表达式搜索可能更容易,而不是将文件解析为列表。但是,请再看看Tcl的文档。