RegEx /计算机理论 - 按字母顺序构建regEx

时间:2011-10-05 21:15:17

标签: regex theory

在我的语法中 - 计算机理论课我试图按字母顺序(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]
我正走在正确的轨道上吗?

2 个答案:

答案 0 :(得分:4)

据我了解,您希望使用以下格式捕获字符串:

  • 该字符串包含任意数量的a,之后是任意数量的b,然后是任意数量的c,依此类推......

让我们考虑一个派生的例子:我们希望所有字符串由01组成,并且在0之前包含所有1:因此,我们可以只需写0*1*即可。现在尝试调整模式以获得更复杂的字母表。

答案 1 :(得分:0)

这个词必须按字母顺序排列,所以如果它包含任何一个,它们肯定必须在前面。 同样,如果它包含任何b,它们必须在a之后,并且a和b之间没有任何东西可以进入

所以我们有:a*b*...

因此出现了一种模式。