无法弄清楚以下的正则表达式
Unable to fugure out the Regular Expression of the following
我最近一直在研究编译器设计,发现正则表达式非常棘手。
所以我正在制作一个需要词法规范的词法分析器。
我无法计算出标识符的 RE(规则定义如下):
- 最多 4 个字符
- 至少 1 个字母表
我已经尝试过的:
(letter|digit){4} // 我读到我们可以像这样限制发生。但在这种情况下,11aa
也会被接受。
我想我也可以这样重写上面的语句
(字母|数字)(字母|数字)(字母|数字)(字母|数字)
如有错误请指正,在此先感谢!
这项任务的棘手之处在于确保我们至少有一封信。
那个字母可以在四个位置中的任何一个。
(letter)(letter|digit){0,3} | (letter|digit)(letter)(letter|digit){0,2} | (letter|digit){2}(letter)(letter|digit){0,1} | (letter|digit){3}(letter)
我最近一直在研究编译器设计,发现正则表达式非常棘手。 所以我正在制作一个需要词法规范的词法分析器。
我无法计算出标识符的 RE(规则定义如下):
- 最多 4 个字符
- 至少 1 个字母表
我已经尝试过的:
(letter|digit){4} // 我读到我们可以像这样限制发生。但在这种情况下,11aa
也会被接受。
我想我也可以这样重写上面的语句
(字母|数字)(字母|数字)(字母|数字)(字母|数字)
如有错误请指正,在此先感谢!
这项任务的棘手之处在于确保我们至少有一封信。 那个字母可以在四个位置中的任何一个。
(letter)(letter|digit){0,3} | (letter|digit)(letter)(letter|digit){0,2} | (letter|digit){2}(letter)(letter|digit){0,1} | (letter|digit){3}(letter)