1

我正在使用 regsub 将 (T|Z) 替换为空格

set date(1,2) "2012-09-14T00:00:00Z"
regsub -all {(T|Z)} $date(1,2) " " date(1,2)
puts $date(1,2)

但是当我使用

regsub -all {(T|Z)} $date(1,2) "\s" date(1,2)

它正在用 \s 替换 T|Z 。

如何将单个空格字符映射到“\s”以使代码清晰可见

4

1 回答 1

2

替换"\s"" "

  • \s: 可能意味着很多事情,具体取决于上下文。在正则表达式的上下文中,如果正则表达式解释器知道它,它应该在 unix 类型的程序上表示“任何空白字符(空格或制表符,或任何其他在当前语言环境和 LC_LANG 中都可以作为空白字符) ”。所以它会匹配其中任何一个。但是,在“替换”方面,无法知道需要哪个(空格?制表符?另一个?)因此无法在该方面进行解释,并且 tcl 将其“按原样”放置。
于 2013-01-10T12:45:03.953 回答