Lexer规则避免一个字符出现多次



我想为antlr4编写lexer规则,以检查少数USER ID。我需要检查字符串的开头是否不包含任何点,它们可能在中间有点,但点不能连续出现。有人能帮我出个主意吗?

如果点也不能出现在末尾,那么您可以使用类似的东西(VALID:的定义可能不同

VALID:  [A-Za-z0-9]
USERID: VALID ('.'? VALID)*

如果你想在末尾添加一个点,你可以添加:

USERID: VALID ('.'? VALID)* '.'?

相关内容

  • 没有找到相关文章

最新更新