正则表达式/计算机理论 - 按字母顺序构造正则表达式

0 regex theory

在我的语法 - 计算机理论课中,我试图按字母顺序创建正则表达式(az)

l = {a, b, x, y, z, i, o, u, e, c}
Run Code Online (Sandbox Code Playgroud)

这就是我使用 kleene 闭合想到的

aeiou(x*, y*, z*, i*, o*, u* e*) 
Run Code Online (Sandbox Code Playgroud)

随着 kleene 关闭 * 那是零或更多,所以应该强制 abceioxyz?

我们还没有学习过这种形式

[^abc]
Run Code Online (Sandbox Code Playgroud)

我走在正确的轨道上吗?

phi*_*mue 5

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

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

让我们考虑一个派生的例子:我们想要所有由0and组成的字符串1,并且0在 's 之前都有1's:因此,我们可以简单地写0*1*。现在尝试调整该模式以适应更复杂的字母表。

  • @icelated正确,您按照需要的顺序排列它们。但我不明白你上面的例子与这个想法有何相似之处...... (2认同)