TCL 脚本中使用的正则表达式中的变量不匹配

阿克沙塔帕布

下面的代码片段从文档主机中获取代理容器 ID,并将其与登录代理容器时获得的容器 ID 进行匹配这是为了验证代理容器登录是否成功

   set var_op1 [VIR-APP exec "docker ps -aqf \"name=agent\""]

   set docker_op [VIR-APP exec "docker exec -it agent /bin/bash"]

   set var_op2 [VIR-APP exec "uname -a"]

   set result [regexp -nocase ".*$var_op1.*" $var_op2 match]

我输入的正则表达式不匹配。有人可以帮忙吗?

唐纳德研究员

在这种情况下,您可以使用以下string first命令更简单地检查一个字符串是否在另一个字符串中

if {[string first $var_op1 $var_op2] >= 0} {
    # The $var_op1 string was found inside $var_op2
}

但是,您可能会发现这会失败,因为检索 中的值的结果var_op1包含额外的空格(例如,尾随换行符)。因此,您可能想要实际执行以下操作:

if {[string first [string trim $var_op1] $var_op2] >= 0} {
    # The $var_op1 string was found inside $var_op2
}

(我相信这是导致您在regexp搜索中出现问题的原因,但任何额外的元数据字符也会导致问题;最好在string first这里使用。否则,还有string match,它使用大多数人熟悉的全局样式匹配来自文件名处理,但这是一个不太正确的工具。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在TCL中匹配正则表达式的问题

来自分类Dev

TCL / Expect正则表达式匹配多行输出

来自分类Dev

正则表达式变量包括 [ 在 tcl

来自分类Dev

TCL正则表达式

来自分类Dev

正则表达式和Tcl

来自分类Dev

TCL正则表达式

来自分类Dev

Tcl中的正则表达式不起作用

来自分类Dev

TCL中的正则表达式不起作用

来自分类Dev

Tcl中的正则表达式不起作用

来自分类Dev

TCL中压缩文件的正则表达式

来自分类Dev

Bash和TCL的正则表达式

来自分类Dev

tcl 正则表达式与括号分隔的组

来自分类Dev

DC的TCL:非标准层次名称的正则表达式匹配

来自分类Dev

是否可以使用Tcl Selenium Webdriver接口在定位符中使用正则表达式搜索元素?

来自分类Dev

正则表达式中的贪婪运算符在Tcl 8.5中不起作用

来自分类Dev

tcl-在代码中的单行周围添加注释(用于阻止):使用正则表达式

来自分类常见问题

TCL正则表达式可从特定特殊字符中修剪字符串

来自分类Dev

我如何让sqlite3在Tcl中做正则表达式

来自分类Dev

tcl如何在正则表达式输出中处理方括号?

来自分类Dev

TCL正则表达式可从特定特殊字符中修剪字符串

来自分类Dev

-line标志在tcl正则表达式中起什么作用?

来自分类Dev

tcl如何在正则表达式输出中处理方括号?

来自分类Dev

如何使用正则表达式获取tcl字符串的元素

来自分类Dev

使用变量不匹配的正则表达式 Findall

来自分类Dev

如何搜索正则表达式模式,但使用TCL仅替换其中一部分?

来自分类Dev

在TCL中用正则表达式识别换行符

来自分类Dev

Tcl /期望正则表达式-想要变得懒惰(而不是贪婪)

来自分类Dev

在TCL中用正则表达式识别换行符

来自分类Dev

tcl v8.5正则表达式将元素绑定到字符串

Related 相关文章

热门标签

归档