限制令牌的长度

时间:2016-04-20 21:52:38

标签: flex-lexer

如何在flex中指定令牌长度的上限?

E.g。拥有和由数字和字母组成的标识符,最多不超过1024个字符。

1 个答案:

答案 0 :(得分:2)

你可以用

完成
[a-zA-Z0-9]{1,1024}

根据你所说的。然而,它更可能是

[a-zA-Z][a-zA-Z0-9]{1,1023}

因为您通常需要标识符以字母开头。

但您可能会发现在行动中简单地执行规则会更好。否则,扫描仪会简单地将一个2048个字符的标识符分成两半并将两半作为标记返回,这实际上并不是你想要的。

1024是高得惊人的BTW。