在我的语法中 - 计算机理论课我试图按字母顺序(a-z)创建正则表达式
l = {a, b, x, y, z, i, o, u, e, c}
这就是我使用kleene闭包
所提出的aeiou(x*, y*, z*, i*, o*, u* e*)
如果kleene接近*为零或更多,那么应该强制abceioxyz?
我们还没有学过这种形式
[^abc]
我正走在正确的轨道上吗?
答案 0 :(得分:4)
据我了解,您希望使用以下格式捕获字符串:
a
,之后是任意数量的b
,然后是任意数量的c
,依此类推...... 让我们考虑一个派生的例子:我们希望所有字符串由0
和1
组成,并且在0
之前包含所有1
:因此,我们可以只需写0*1*
即可。现在尝试调整模式以获得更复杂的字母表。
答案 1 :(得分:0)
这个词必须按字母顺序排列,所以如果它包含任何一个,它们肯定必须在前面。 同样,如果它包含任何b,它们必须在a之后,并且a和b之间没有任何东西可以进入
所以我们有:a*b*...
因此出现了一种模式。