Lexer Rule 避免一个字符多次出现
Lexer Rule To avoid more than one occurrence of a character
我想为 antlr4 编写词法分析器规则来检查几个用户 ID。我需要检查字符串的开头是否不包含任何点,它们可能在中间有点但点不能连续出现。谁能帮我出点主意?
如果点也不能出现在末尾,那么你可以使用这样的东西(可能 VALID
的不同定义:
VALID: [A-Za-z0-9]
USERID: VALID ('.'? VALID)*
如果你想在末尾添加一个点,你可以添加:
USERID: VALID ('.'? VALID)* '.'?
我想为 antlr4 编写词法分析器规则来检查几个用户 ID。我需要检查字符串的开头是否不包含任何点,它们可能在中间有点但点不能连续出现。谁能帮我出点主意?
如果点也不能出现在末尾,那么你可以使用这样的东西(可能 VALID
的不同定义:
VALID: [A-Za-z0-9]
USERID: VALID ('.'? VALID)*
如果你想在末尾添加一个点,你可以添加:
USERID: VALID ('.'? VALID)* '.'?