[英]REGEX L(r) = {a^n b^m : n + m is even}, r =?
所以我之前做了一个问题,说:
L(r) = {w in {a,b}* : w contains at least 2 a's}
对于那个,我说{a^2n , b}
因为这保证了像aab
或aabaab
等字符串。不知道如何接近我在标题中发布的那个。 可能的解决方案可能是a^2n, b^2m
所以它总是偶数,但像a^nb^3m
这样a^nb^3m
2 个奇数也总是偶数。 我可以设置像n>=m
这样的边界吗?
谢谢!
您正确地观察到n
和m
必须都是偶数或都是奇数。 只需要补充一点,奇数比偶数多一。
“ a
s 的偶数”( {a 2n : n ≥ 0}
)的简单正则表达式是(aa)*
,而“ a
s 的奇数”是(aa)*a
。
在此基础上,我们可以为原始问题提供两种情况: (aa)*(bb)*
和(aa)*a(bb)*b
,它们可以组合成(aa)*(ab+ε)(bb)*
. (假设您使用+
表示交替,使用 ε 表示空字符串。)
r=((a+b)^2)* ,我认为这个正则表达式也给出了正确的答案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.