regsub -all具体替换为space

时间:2013-01-10 07:32:11

标签: regex tcl

我正在使用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”以使代码看起来清晰

1 个答案:

答案 0 :(得分:2)

"\s"替换为" "

  • \s:根据具体情况,可能意味着很多事情。在正则表达式的上下文中,如果正则表达式解释器知道它,它应该在unix类型程序上表示“任何空格字符(空格或制表符,或者当前语言环境中的空格和LC_LANG的其他任何其他内容) ”。所以它会匹配其中任何一个。然而,在“替换”方面,不知道哪个是需要的(空格?标签?另一个?)因此它不能在那一侧被解释,并且tcl将其“原样”。