用于识别C编程语言中的标识符的常规定义为
letter -> a|b|...z|A|B|...|Z|_
digit -> 0|1|...|9
identifier -> letter(letter|digit)*
该定义将生成以下形式的标识符
标识符:
[_a-zA-Z][_a-zA-Z0-9]*
现在我的问题是如何将可生成的标识符的长度限制为不超过31个字符。需要对正则定义进行哪些更改,或者如何编写正则表达式以将其限制为不超过指定长度。谁能帮忙。谢谢。
最佳答案
您要查找的正则表达式为:
[_a-zA-Z][_a-zA-Z0-9]{0,30}
它将匹配下划线或字母,后跟
X
下划线,字母或数字,其中0 <= X <= 30
关于regex - 使用正则表达式表示标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953861/