为给定的语言构造正则表达式。
问题一
为接受包含任意数量 a 和 b 的所有字符串的语言编写正则表达式。
解决方案
正则表达式将是 -
re = (a + b)*
这将使集合 L = {E, a, aa, b,bb,ab,ba, aba, bab,.....},a 和 b 的任意组合。
(a + b)* 显示与 a 和 b 的任意组合,甚至是空字符串。
问题二
为以 a 开头但不具有连续 b 的语言编写正则表达式。
解决方案
必须为语言构建正则表达式:L = {a, aba, aab, aba, aaa, abab, .....}
上述语言的正则表达式是 -
R = {a + ab}*
问题三
为接受所有字符串的语言编写正则表达式,其中任意数量的 a 后跟任意数量的 b 后跟任意数量的 e。
解决方案
我们知道,任意数量的 a 意味着 a* 任意数量的 b 意味着 b*,任意数量的 e 意味着 c*。因为正如问题陈述中给出的那样,b 出现在 a 之后,e 出现在 b 之后。所以正则表达式可以是 -
R = a* b* c*
问题四
描述由以下正则表达式表示的语言 re = (b* (aaa)* b*)*
解决方案
可以通过查找正则表达式的含义来从正则表达式中预测语言。我们首先将正则表达式拆分为 -
re .= (b's 的任意组合) (aaa)* (b's 的任意组合)
L = {语言由a出现三元组的字符串组成,b的个数没有限制}
以上是 为给定的语言构造正则表达式。 的全部内容, 来源链接: utcz.com/z/354423.html