我想在Typescript中创建一个正则表达式,以匹配小写分隔符,后跟字符串中的0
s序列。例如,如果小数点分隔符是.
,那么我提出的表达式是:
/\.0+\b/g
由于小数点分隔符是在运行时根据语言环境确定的,因此我在代码中构建表达式,decimalSeperator
作为变量:
"/\\" + decimalSeperator + "0+\b/";
我的意图是双反斜杠字符将转义为单个反斜杠字符。
但是,在我编译的JavaScript中没有转义双反斜杠字符:
"/\\" + decimalSeperator + "0+\b/"
然而,如果我使用单个反斜杠,由于"
被转义,代码将无法编译:
"/\" + decimalSeperator + "0+\b/";
- 错误TS1005:','预计。
- 错误TS1127:字符无效。
- 错误TS1002:未终止的字符串文字。
这是Typescript的错误还是我做错了什么?
由于
答案 0 :(得分:7)
但是,在我编译的JavaScript中没有转义双反斜杠字符
这是故意的。 编译时JavaScript 与预编译TypeScript非常相似。 "\\"
将汇编为"\\"
。但是在运行时 "\\"
将是\
,即单个反斜杠。
console.log("\\"); // prints "\"