我想替换字符串中的一些字符,例如
console.log(
"truefalse".replace("e","E")
)
但是使用jsfuck约定,其中只允许 6 个字符:[]()!+
,为了提高可读性,这里也允许带有字母 az 和 AZ 以及数字 0-9 的 JS 字符串(因为很容易将这些字符串转换为 6 字符的 jsf 代码)。所以我可以这样写
console.log(
"truefalse"["replace"]("e","E")
)
但在上面的代码中,我使用了禁止字符 - 逗号:,
。因此,我使用trincot 在这里发现的 2 个(以及更多)参数调用函数的技术,如下所示
console.log(
"truefalse"["split"]()["concat"]([["e"]["concat"]("E")])
["reduce"](""["replace"]["apply"]["bind"](""["replace"]))
)
现在我想在替换函数中使用正则表达式并使用上述限制编写代码
console.log(
"truefalse"["replace"](/e/g,"E")
)
但我不知道如何处理正则表达式部分/e/g
?不使用任何类型的“eval”(字符串被解释为代码)就可以做到这一点?