如何使用正则表达式的表达式(/期望TCL)的可变(How to use a variable in

2019-06-26 17:00发布

我试图找出如何在正则表达式匹配使用字符串。 我一直在寻找对谷歌一小时,想我会只问专家。

这工作:

#!/usr/bin/expect

set MYSTR "value"

if [ regexp -nocase "$MYSTR" $outcome matchresult ] then {
...
}

这不是工作:

#!/usr/bin/expect

set MYSTR "value"

if [ regexp -nocase {something here:\s+$MYSTR} $outcome matchresult ] then {
...
}

我敢肯定,这是一个简单的语法问题。

谢谢你的帮助

Answer 1:

对。 你有两个选择:附上与模式" ,但你必须保护\由Tcl的被解析,而不是regxp或者你可以使用。 regexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]

PS:把总{} 周围的 表达式 :

if {[regexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]} then {
...
}


文章来源: How to use a variable in regexp expression (TCL/Expect)
标签: regex tcl expect