我有以下正则表达式:
rm -Rf ~/.gradle
console.log('Hey yo (W)'.replace(/\s*%s\s*/g, " ").trim());
是另一个将格式化为此正则表达式的字符串。它可能是诸如%s
之类的“正常”字符序列,也可能包含诸如yo
之类的特殊字符。当前,如果将(W)
替换为%s
,则输出为
(W)
我真正想要的时候
Hey yo ( )
那么我如何支持Hey yo
的任意替换,以使其正确地转义特殊符号,同时仍然支持不带有特殊符号的替换?
答案 0 :(得分:0)
另一种选择是使用String而不是RegExp。
let variable = {"%s": "(W)"}; // this is just to illustrate.
console.log('Hey yo (W)'.replace(`${variable["%s"]}`, " ").trim());
答案 1 :(得分:0)
您可以使用此Regexp ([[^ \ w \ s]。+ [^ \ w \ s])
console.log('Hey yo (W)'.replace(/([^\w\s].+[^\w\s])/g, " ").trim());