我正则表达式标识符lambda符号有问题

时间:2019-06-25 12:18:38

标签: javascript regex lambda tokenize lexer

我正在尝试创建一种新的编程语言,并且在我的Lexer函数中,我将以下正则表达式用作标识符,该正则表达式也只允许字符λ后面没有其他字符(函数AppModule的同义词):

lambda

我的代码

/^λ|(?:[_a-zA-Z][_a-zA-Z0-9]*|\-)$/

我输入了Regexp,但显示了不同的结果:

在正则表达式中,

匹配

show = λ (param) { printf(param) }
sum = lambda(a, b) => a + b;
show( sum(1, 2) );

在JS中,

匹配任何 但λ

show, λ, param, printf, param, sum, lambda, a, b, a, b, show, sum

有关匹配 ( show, param, printf, param, sum, lambda - as word, a, b etc. ) 的任何可能建议(是否需要转义还是什么)?

提前谢谢!

0 个答案:

没有答案