Typescript如何转义反斜杠字符
我想在Typescript中创建一个正则表达式,以匹配十进制分隔符字符,后跟字符串中的Typescript如何转义反斜杠字符,typescript,Typescript,我想在Typescript中创建一个正则表达式,以匹配十进制分隔符字符,后跟字符串中的0s序列。例如,如果十进制分隔符是,那么我得到的表达式是: /\.0+\b/g 由于十进制分隔符是在运行时根据区域设置确定的,因此我正在代码中构造表达式,并将十进制分隔符作为变量: "/\\" + decimalSeperator + "0+\b/"; 我的意图是将双反斜杠字符转义为单个反斜杠字符 但是,在我编译的JavaScript中没有转义双反斜杠字符: "/\\" + decimalSeperat
0
s序列。例如,如果十进制分隔符是
,那么我得到的表达式是:
/\.0+\b/g
由于十进制分隔符是在运行时根据区域设置确定的,因此我正在代码中构造表达式,并将十进制分隔符作为变量:
"/\\" + decimalSeperator + "0+\b/";
我的意图是将双反斜杠字符转义为单个反斜杠字符
但是,在我编译的JavaScript中没有转义双反斜杠字符:
"/\\" + decimalSeperator + "0+\b/"
但是,如果我使用一个反斜杠,代码将无法编译,因为“
被转义:
"/\" + decimalSeperator + "0+\b/";
- 错误TS1005:'应为','
- 错误TS1127:无效字符
- 错误TS1002:未终止的字符串文字
这是Typescript的错误还是我做错了什么
谢谢
但是,在我编译的JavaScript中没有转义双反斜杠字符
这是有意的。编译时JavaScript将非常类似于预编译的TypeScript。“\\\”
将编译为“\\”
。但是在运行时“\\”
将是\
,即一个反斜杠
console.log("\\"); // prints "\"
您希望发生什么?TypeScript将发出与它看到的相同的JavaScript。“/\\\”
是正斜杠反斜杠的JavaScript表示形式,正如您所希望的。啊,是的,这很有意义。谢谢