RegEx如何声明但未实例化的JavaScript变量?

时间:2018-11-15 15:42:59

标签: javascript regex

看看以下JavaScript:

let shouldBeReplaced10, shouldBeReplaced11
var shouldBeReplaced12, shouldBeReplaced13

let shouldBeReplaced10,shouldBeReplaced11, shouldBeReplaced12, shouldBeReplaced49

let shouldBeReplaced10,
    shouldBeReplaced11


let shouldBeReplaced17

我正在尝试编写一个将捕获所有变量名称的正则表达式,以便可以将其替换为其他字符串。到目前为止,这是我要做的:

/(?:let|var)\s+(\w|,|\s)*/gm

您可能会猜到,它不起作用-它实际上捕获了整个文本,并返回最后一个字符(7)作为我的匹配项。通常我对regex没问题,但是在这种情况下,我似乎无法概念化下一步是什么。

有什么想法吗?

PS:我知道有比这更多的声明变量的方法。我已经用其他正则表达式捕获了它们。这种特殊的声明-不带值的声明-会跳过以前的正则表达式。

PPS:明确地说,这是一个“有趣”的项目。我试图用愚蠢的替代品替换变量和函数名称。 “使用现有的混淆器”,因此此类答案不相关。

1 个答案:

答案 0 :(得分:1)

尝试使用正则表达式:(?:(?<=^|let|var) +|(?<=,) *)(\w+)

Demo