0
我需要將shell中的以下代碼段更改爲tcl。請幫忙。將csh正則表達式匹配代碼更改爲tcl
if (` expr $_f : proj_lp_ ` == 8) then
我需要tcl等效條件中的條件。
謝謝!
我需要將shell中的以下代碼段更改爲tcl。請幫忙。將csh正則表達式匹配代碼更改爲tcl
if (` expr $_f : proj_lp_ ` == 8) then
我需要tcl等效條件中的條件。
謝謝!
見expr manual page哪裏是規定:
STRING : REGEXP anchored pattern match of REGEXP in STRING
所以你_f
變量保存一個字符串,你與litteral proj_lp_
比較它。結果是比賽的長度。在tcl代碼可能是if {[regexp {^proj_lp_} $_f]} { ...}
,因爲你只關心它是否匹配。您也可以使用if {[string match "proj_lp_*" $_f]} {...}
。 expr(1)頁面說這是一個錨定的正則表達式 - 因此添加了插入符號。我給出的兩個例子只會在輸入字符串的開頭匹配(即:它們被錨定)。
非常感謝! – user2046535