waitregex

正規表現文字列を含む行を待つ。

waitregex <string1 with regular expression> [<string2 with regular expression> ...]

解説

Oniguruma の正規表現 が使用できます。
正規表現文字列のうち 1 つ以上を含む行(最大 256 文字)をホストから受信するか、タイムアウトが発生するまで MACRO を停止させる。正規表現文字列は最大 10 個まで指定できる。
システム変数 timeout が 0 より大きい場合、<timeout> 秒の時間がすぎるとタイムアウトが発生する。 timeout の値が 0 以下の場合は、タイムアウトは発生しない。 このコマンドの実行結果はシステム変数 result , inputstr, matchstr に格納される。変数 result の値の意味は以下のとおり。

意味
0 タイムアウト。どの文字列も来なかった。
1 <string1 with regular expression> を受信した。
2 <string2 with regular expression> を受信した。
n <stringn with regular expression> を受信した。n=1..10

変数 inputstr には受信した行が格納される。
変数 matchstr には最初にマッチしたパターンが格納される。
変数 groupmatchstr1〜groupmatchstr9 にはグループマッチしたパターンが格納される。

timeout = 30
waitregex 'Longhorn' '.*@sai' 'Pentium\d+' 'TeraTermX{3}'
int2str s result
messagebox s 'result'
messagebox inputstr 'inputstr'
messagebox matchstr 'matchstr'