Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript如何转义反斜杠字符_Typescript - Fatal编程技术网

Typescript如何转义反斜杠字符

Typescript如何转义反斜杠字符,typescript,Typescript,我想在Typescript中创建一个正则表达式,以匹配十进制分隔符字符,后跟字符串中的0s序列。例如,如果十进制分隔符是,那么我得到的表达式是: /\.0+\b/g 由于十进制分隔符是在运行时根据区域设置确定的,因此我正在代码中构造表达式,并将十进制分隔符作为变量: "/\\" + decimalSeperator + "0+\b/"; 我的意图是将双反斜杠字符转义为单个反斜杠字符 但是,在我编译的JavaScript中没有转义双反斜杠字符: "/\\" + decimalSeperat

我想在Typescript中创建一个正则表达式,以匹配十进制分隔符字符,后跟字符串中的
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表示形式,正如您所希望的。啊,是的,这很有意义。谢谢