2015-11-05 46 views
-1

期望編程如何檢查正則表達式以匹配字母數字字符?如何在預期編程中匹配正則表達式

我做了以下內容:

expect { 
     set prompt ([0-9]|[a-z]) 
     -re $prompt { 
      puts "Hello world..." 
     }    
    } 

但它顯示錯誤:無效的命令名「0-9」

誰能告訴在預期編程如何匹配正則表達式?

+0

也許,'希望{ -re 「[A-ZA-Z0-9]」{#添加您進一步的代碼} }'?檢查[這篇文章](http://stackoverflow.com/questions/30757109/expect-script-regex-not-working)。 –

+0

沒有,沒有工作。同樣的錯誤即將到來。 – RDX

+0

'''需要用\'轉義。 – pynexj

回答

0

expect命令中取出set prompt ...命令。另外,你的正則表達式太普通了:除了提示之外,很多東西都可以匹配一個數字或一個字母。最佳做法是匹配提示的結束。如果提示有$和空白結束,使用此:

set prompt {\$ $} 
expect { 
    -re $prompt { 
     puts "Hello world..." 
    }    
} 
+0

嗨格倫,謝謝你的回覆。但我的提示並不以$結束。它只需要字母數字字符。那麼該怎麼辦? – RDX