4

正規表現の一致で文字列を使用する方法を理解しようとしています。私はグーグルで1時間検索してきましたが、専門家に聞いてみようと思いました。

これは機能します:

#!/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 {
...
}

単純な構文の問題だと確信しています。

ご協力いただきありがとうございます

4

1 に答える 1

11

右。2つのオプションがあります。パターンをで囲みますが、regxpではなくTclによって解析され"ないように保護する必要があります。\または、を使用できますregexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]

PS:常に{} の周りに 置きます:

if {[regexp -nocase [subst -nocommands -nobackslashes {something here:\s+$MYSTR}]} then {
...
}
于 2012-08-01T23:04:49.973 に答える