Antlr 检查第一个字符的正则表达式
我需要进行以下检查:Antlr 检查第一个字符的正则表达式,antlr,antlr4,Antlr,Antlr4,我需要进行以下检查: 第一个字符可以是字母字符,也可以是_ 所有其他字符可以是字母、数字或数字_ 我试过: ^('A'..'Z' | '_') ('A'..'Z' | '0'..'9' | '_')* 但它抱怨说它不知道“^”是什么。那么,我如何检查它在ANTLR中以什么开头呢?您就快到了。删除^char(表示正则表达式中从一行开头开始的匹配),应该就是这样。@aurora91同样要添加到答案中,antlr lexer与regex的工作方式不同。它以块而不是行的形式查看输入。因此,无论从何
- 第一个字符可以是字母字符,也可以是_
- 所有其他字符可以是字母、数字或数字_
^('A'..'Z' | '_') ('A'..'Z' | '0'..'9' | '_')*
但它抱怨说它不知道“^”是什么。那么,我如何检查它在ANTLR中以什么开头呢?您就快到了。删除^char(表示正则表达式中从一行开头开始的匹配),应该就是这样。@aurora91同样要添加到答案中,antlr lexer与regex的工作方式不同。它以块而不是行的形式查看输入。因此,无论从何处开始,它都会将该模式与文本的其余部分相匹配。(至少我这么认为)