小编use*_*761的帖子

ANTLR Regex中的范围量化语法

这应该很简单.我正在使用ANTLR编写词法分析器语法,并希望将变量标识符的最大长度限制为30个字符.我试图用这一行完成这个(遵循正常的正则表达式 - 除了''thing - 语法):

ID  :   ('a'..'z'|'A'..'Z') ('a'..'z'|'A'..'Z'|'0'..'9'|'_'){0,29}  {System.out.println("IDENTIFIER FOUND.");}
    ;
Run Code Online (Sandbox Code Playgroud)

代码生成没有错误,但由于生成的代码中的一行简单而导致编译失败:

0,29

显然,antlr将括号内的文本部分与打印线一起放在接受状态区域.我搜索了ANTLR网站,但没有找到相应表达式的示例或引用.这个表达式的语法应该是什么?

java regex antlr

7
推荐指数
1
解决办法
3067
查看次数

标签 统计

antlr ×1

java ×1

regex ×1