我正在使用String.raw
来容纳内容,以容纳一个正则表达式,该正则表达式包含我拥有的RegExp中的值${somevalue}
。它有效,除了似乎无法逃脱${}
或反引号。
例如,这行不通。
String.raw`${}` // error
String.raw`$\{}` // wrong output
String.raw`\${}` // wrong output
String.raw`\`` /wrong output
不幸的是,我能想到的最佳解决方案是以下方法。
String.rawer= (s)=>{return s.raw[0].replace(/\\\{/g,"{").replace(/\\`/g,'`').replace(/\\\\$/,'\\')}
有没有一个丑陋的解决方案,不需要定义我自己的函数和随后的函数调用?
答案 0 :(得分:2)
我认为这看起来比您拥有的更干净
console.log(String.raw`${"${}"}`)
您必须将${}
放在${}
内,并在其中加上引号。但这是一个令人烦恼的问题,实际上我没有意识到它的简单解决方案。