Typescript如何转义反斜杠字符

时间:2015-10-20 01:33:53

标签: typescript

我想在Typescript中创建一个正则表达式,以匹配小写分隔符,后跟字符串中的0 s序列。例如,如果小数点分隔符是.,那么我提出的表达式是:

/\.0+\b/g

由于小数点分隔符是在运行时根据语言环境确定的,因此我在代码中构建表达式,decimalSeperator作为变量:

 "/\\" + decimalSeperator + "0+\b/"; 

我的意图是双反斜杠字符将转义为单个反斜杠字符。

但是,在我编译的JavaScript中没有转义双反斜杠字符:

"/\\" + decimalSeperator + "0+\b/"

然而,如果我使用单个反斜杠,由于"被转义,代码将无法编译:

"/\" + decimalSeperator + "0+\b/"; 
  
      
  • 错误TS1005:','预计。
  •   
  • 错误TS1127:字符无效。
  •   
  • 错误TS1002:未终止的字符串文字。
  •   

这是Typescript的错误还是我做错了什么?

由于

1 个答案:

答案 0 :(得分:7)

  

但是,在我编译的JavaScript中没有转义双反斜杠字符

这是故意的。 编译时JavaScript 与预编译TypeScript非常相似。 "\\"将汇编为"\\"。但是在运行时 "\\"将是\,即单个反斜杠。

console.log("\\"); // prints "\"