是否有自动添加转义字符的Tcl函数?

是否有自动添加转义字符的Tcl函数?,tcl,expect,Tcl,Expect,是否有任何Tcl函数可以自动向字符串添加转义字符 例如,我有一个正则表达式 "[xy]" 调用函数后,我得到 "\[xy]" 再次接到电话后,我得到了一份工作 "\\\[xy]" 我记得有些脚本语言有这样的功能,但我记不起它是哪种语言。添加“必需”转义字符的常用方法是使用列表(%是我的Tcl提示符): list命令如果可以的话,宁愿不使用它,如果可以不使用它,就用大括号括起来,否则就使用反斜杠(因为反斜杠实际上是不可读的) 如果您确实需要反斜杠,stringmap或regsub将满足您的需

是否有任何Tcl函数可以自动向字符串添加转义字符

例如,我有一个正则表达式

"[xy]"
调用函数后,我得到

"\[xy]"
再次接到电话后,我得到了一份工作

"\\\[xy]"

我记得有些脚本语言有这样的功能,但我记不起它是哪种语言。

添加“必需”转义字符的常用方法是使用
列表(
%
是我的Tcl提示符):


list
命令如果可以的话,宁愿不使用它,如果可以不使用它,就用大括号括起来,否则就使用反斜杠(因为反斜杠实际上是不可读的)

如果您确实需要反斜杠,
stringmap
regsub
将满足您的需要。例如:

set s [regsub -all {\W} $s {\\&}]

list
命令构造的列表也是“无替换”命令(即读取变量或运行命令时不会产生意外)。这两种命令都适用于我。第二个是每个单词加上“\”,看起来有点奇怪。
set s [regsub -all {\W} $s {\\&}]