TCL替代混乱

时间:2013-09-12 14:19:00

标签: regex tcl

我对以下陈述感到困惑。

  1. % set a \\\\\w
    \\w
    
  2. % set a \\\\w
    \\w
    
  3. % set a \\w
    \w
    
  4. 在First语句中我有5个(反斜杠)并且它产生了2个(反斜杠)作为输出。

    在第二个语句中,我有4个(反斜杠),它产生2个(反斜杠)作为输出。

    在第三个语句中,我有2个(反斜杠),它产生1(反斜杠)作为输出。

    据我所知,\\在替换后等于\

    因为\\\\\它应该返回单\ na。

    任何人都可以解释一下替换是如何发生的。

1 个答案:

答案 0 :(得分:2)

嗯,这是simple

  • 有一些特殊的替换,包括\\将被替换为\,因此\\\\将替换为\\(不是\) 。有关所有特殊替换的列表,请参阅manual
  • 在其他转义序列(如\w)上,将删除反斜杠。来自manual

      

    在所有情况下,除了下面描述的那些情况外,反斜杠都被删除,后面的字符被视为普通字符并包含在单词中。

  •