我有一个.csv文件,其中很多行都有一个像这样的字段值:
scl[0]
scl[1]
scl[2]
sda[1]
sda[2]
sda[3]
我将它们存储在一个变量中,同时逐行读取csv文件,如:
set string [$m get cell 0 1]
现在当我使用regexp检查单元格是否有scl[0]
时,我无法将方括号传递给此正则表达式:
我给出了这样的语法:
if{[regexp "scl\[0\]" $string]} {
...
}
但if条件没有被执行。
如果是scl(0)
,例如()
而不是csv文件中的{}
,我就提供了{[regexp "scl\[(\]0\[)\]" $string]}
。我试过的相同格式适用于方括号仍然没有得到评估。
我错过了什么吗?
请帮忙。
由于
答案 0 :(得分:3)
请注意,20
在双引号内有特殊含义。所以就这样做:
\
或:
regexp "scl\\[0\\]" $string
答案 1 :(得分:0)