1

エスケープ文字の文字列 (Expect 応答、この質問を参照) と 6 桁の数字 (英数字の最初の文字)に一致するように機能する正規表現を見つけようとしています。

識別する必要がある文字列全体を次に示します。

\r\n\u001b[1;14HX76196

最終的に、文字列を抽出する必要があります。

X76196 

これが私がすでに持っているものです:

interact {
        #...
        #...
        #this expression does not identify the screen location
        #I need to find "\r\n\u001b[1;14H" AND "([a-zA-Z0-9]{1})[0-9]{5}$"
        #This regex was what I was using before.
        -nobuffer -re {^([a-zA-Z0-9]{1})?[0-9]{5}$} {
                set number $interact_out(0,string)
        }   

その画面領域のフィールドであることを確認するために、エスケープ文字を特定する必要があります。したがって、その最初の部分を含む正規表現が必要ですが、バックスラッシュが混乱しています...

また、$number 変数に完全な文字列を取得したら、Tcl の別の変数の数値だけを分離するにはどうすればよいですか?

4

2 に答える 2

1

最後に番号だけが必要な場合は、これで十分です...

[0-9]{6}

新しい情報で更新

\n がリテラル \ の後にリテラル n が続くのではなく、改行文字であると仮定すると、これを行うことができます...

\r\n\u001B\[1;14H(X[0-9]{5})
于 2010-01-05T16:17:29.813 に答える