0

我对以下陈述感到困惑。

  1. % set a \\\\\w
    \\w
    
  2. % set a \\\\w
    \\w
    
  3. % set a \\w
    \w
    

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

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

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

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

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

谁能解释一下替换是如何发生的。

4

1 回答 1

2

好吧,这很简单

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

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

于 2013-09-12T14:48:28.447 回答