| |||||||||||
Regular expression Posted by kannarv1 (kannarv1), 4 October 2006 HI iam not sure whats the problem with this regular expression.Iam trying to match $fPrompt which is sftp. what does this reg exp mean it does not seem to match -re "\n2.. .*$fPrompt" but i can match it by "*fprompt" and not by regular expression . expect { -re "\n2.. \[^\r]*\r\n$fPrompt" { dbg 0 "Established sftp session " } -re "\n2.. .*$fPrompt" { dbg 0 "Established sftp session " } -re "\n... \[^\r]*\r\n$fPrompt" { send -- "exit\r" errLog "Login failed (invalid login ) ... " exit -1 } timeout { send -- "exit\r" errLog "Failed to establish ftp session ... " exit -1 } } thanks Posted by admin (Graham Ellis), 4 October 2006 I'm not sure if I completely understand the question, but I think you're trying to match a literal $ character but it's being taken as the first character of a variable name. You need to \ protect i.Posted by kannarv1 (kannarv1), 5 October 2006 Thanks graham for the reply iam trying to match ftp prompt in my program i have already defined set $fPrompt "ftp>" iam trying to match ftp prompt thru regular expression . i can match it by saying "*ftp"{ dbg 0 "Established sftp session " } i think these two regular expression should match the ftp prompt but some how it doesnot .not sure whats the problem if i specify"\n2.. -re "\n2.. \[^\r]*\r\n$fPrompt" -re "\n2.. .*$fPrompt" Posted by admin (Graham Ellis), 5 October 2006 In Tcl, you only use the $ in front of a variable when you're using it and NOT when you're setting in. Soset $fPrompt "ftp>" should read set fPrompt "ftp>" I don't know if that's your only (remaining) problem, but it won't help! This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |