请解释这个tcl命令的输出,我 没有得到结果。
on tclsh
set line = "Clock Domain: clk"
regexp {Clock Domain:\s*(.+)} $line tmp1 Pnr_clk
$tmp1 = "Clock Domain: clk"
$Pnr_clk = clk
如何分配此值
答案 0 :(得分:1)
记录Tcl regexp
命令,将子匹配分配给您提供名称的变量。你给出的第一个这样的变量是tmp1
,它获得整个RE匹配的整个字符串(可能是整个输入字符串的子字符串; Tcl的RE引擎默认不锚定匹配)。第二个这样的变量是Pnr_clk
,它获得第一个带括号的子RE匹配的内容,在这种情况下是clk
,因为括号前的\s*
贪婪地消耗了{{1}之后的空白}}