Identifier "identifier"
= !ReservedWord [A-Za-z_]+
ReservedWord
= "test"
/ "abc"
Run Code Online (Sandbox Code Playgroud)
此解决方案无法解析此"test_var"之类的标识符.
在这个例子中,语法!ReservedWord将排除以"test"或"abc"开头的所有变量.
提前致谢.
ReservedWord成功,当保留字完成时,无论如何.因此,解决方案是在包含更多标识符字符的较长匹配时使其失败:
Identifier "identifier"
= !ReservedWord [A-Za-z_]+
ReservedWord
= ( "test" / "abc" ) ![A-Za-z_]
Run Code Online (Sandbox Code Playgroud)