Regex 如何识别Antlr语法中的行首?
在我使用的语言中,某些关键字必须位于行的开头。这主要是因为语言中的字符串值可以跨越多行,字符串可以很容易地包含这些关键字 我使用的旧yacc/lex语法实现很容易处理这个问题,因为lexer使用普通正则表达式来匹配文本模式,例如Regex 如何识别Antlr语法中的行首?,regex,intellij-idea,antlr4,Regex,Intellij Idea,Antlr4,在我使用的语言中,某些关键字必须位于行的开头。这主要是因为语言中的字符串值可以跨越多行,字符串可以很容易地包含这些关键字 我使用的旧yacc/lex语法实现很容易处理这个问题,因为lexer使用普通正则表达式来匹配文本模式,例如 ^description { actions } 在行首匹配“说明”,然后执行操作 在Antlr4中如何执行此操作?它似乎不支持用于词汇匹配的适当正则表达式。我正在使用IntelliJ插件,当我在任何lexer规则RHS上使用“^”字符时,它会抱怨。你的问题是什
^description { actions }
在行首匹配“说明”
,然后执行操作
在Antlr4中如何执行此操作?它似乎不支持用于词汇匹配的适当正则表达式。我正在使用IntelliJ插件,当我在任何lexer规则RHS上使用“
^
”字符时,它会抱怨。你的问题是什么?也就是说,使用DescKeyWord:BOL[\t]*“description”代码>。是的,这也是我得出的结论,尽管您使用实际的BOL标记将其正式化。