限制令牌的长度

Limit the length of a token

如何在flex中指定一个token的长度上限?

例如具有由数字和字母组成的标识符,长度最多为 1024 个字符。

你可以用

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

按照你说的。不过更有可能是

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

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

但您可能会发现在操作中简单地执行规则会更好。否则,扫描器将简单地将一个 2048 字符的标识符切成两半,return 两半作为标记,这并不是您真正想要的。

顺便说一句,1024 高得离谱。