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

时间:2015-04-01 16:53:12

标签: regex antlr4 lex

我想为antlr4写lexer规则来检查一些用户ID。我需要检查字符串在开头是否包含任何点,它们可能在中间有点,但点不能连续出现。任何人都可以帮我一些想法吗?

1 个答案:

答案 0 :(得分:1)

如果最后一个点也不能出现,那么你可以使用这样的东西(可能有VALID的不同定义:

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

如果你想在最后允许一个点,你可以添加:

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