5

重複の可能性:
正規表現式(TCL / Expect)で変数を使用する方法

変数を正規表現に渡すのに助けが必要です。

私のコードが

set line "MPID:22 condition:AIS"
set id 22
if {[regexp {MPID:$id} $line]} {
puts "inside if"
}

この正規表現は機能しません。正規表現をに変更した場合

{[regexp {MPID:22} $line]} 

できます。

誰かがこれに対する解決策を提供できますか?

4

1 に答える 1

11

あなたの代わりに{MPID:$id}使用したい"MPID:$id"

if {[regexp "MPID:$id" $line]} {
    puts "inside if"
}

これら{...}は、式の一部をグループ化するためにtclによって使用されますが、変数の展開を防ぎます。
変数の拡張が必要な​​場合は、次を使用する必要があります"..."

于 2012-08-31T12:07:10.393 に答える