每次我写:
set a "cell (number 3)"
regexp "cell (" $a
我收到一条错误消息,指出括号 () 不平衡。
我该如何解决?
我不想写regexp "cell (number 3)" $a
答案 0 :(得分:1)
(
字符在正则表达式中很特殊:它开始一对捕获括号。
你想告诉正则表达式你想要一个文字左括号:
regexp {cell \(} $a
# or
regexp {cell [(]} $a
最好的做法是用大括号而不是引号将正则表达式文字括起来:它允许您最大限度地减少过多的反斜杠,以保护正则表达式字符不受它们的特殊 Tcl 含义的影响。