我正在试图弄清楚如何在正则表达式匹配中使用字符串。我一直在谷歌搜索一个小时,我想我会问专家。
这有效:
#!/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 {
...
}
我确定这是一个简单的语法问题。
感谢您的帮助
答案 0 :(得分:11)
右。您有两个选项:用"
括起模式,但是您必须保护\
不被Tcl而不是regxp解析。或者您可以使用regexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]
。
PS:总是{}
around the expression:
if {[regexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]} then {
...
}