打字稿如何转义反斜杠字符

Boj*_* Li 6 typescript

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

/\.0+\b/g
Run Code Online (Sandbox Code Playgroud)

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

 "/\\" + decimalSeperator + "0+\b/"; 
Run Code Online (Sandbox Code Playgroud)

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

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

"/\\" + decimalSeperator + "0+\b/"
Run Code Online (Sandbox Code Playgroud)

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

"/\" + decimalSeperator + "0+\b/"; 
Run Code Online (Sandbox Code Playgroud)
  • 错误TS1005:','预计.
  • 错误TS1127:字符无效.
  • 错误TS1002:未终止的字符串文字.

这是打字稿的错误还是我做错了什么?

谢谢

bas*_*rat 7

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

这是出于意图.在编译时的JavaScript将是非常相似的预编译打字稿."\\"将编译为"\\".但是在运行时 "\\"将是\单个反斜杠.

console.log("\\"); // prints "\"
Run Code Online (Sandbox Code Playgroud)