Javascript正则表达式:在反斜杠后忽略每个字母

时间:2014-04-14 13:15:36

标签: javascript regex

我想检索lambda表达式中的自由变量。 例如

\z.\x.(xy)

,其中“\”代表Lambda符号:通过正则表达式,我需要获得所有不遵循反斜杠的字母。 在我的例子中,自由变量将是

{y}

因为“y”是唯一不限于“\”的变量。 我怎么能这样做? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用/\\(\w+)/g并使用exec

进行迭代
var r = /\\(\w+)/g, m,
    s = "\\z.\\x.(xy)";
while (m = r.exec(s)) console.log(m[1]);

它会记录"z"然后"x"

Demonstration


回答新问题:

要在\之后获取名称​​而不是,您可以使用/([^\\]|^)(\w+)/g(并使用第二个捕获组,它是返回数组中的第三个元素)。< / p>

Demonstration