繁体   English   中英

正则表达式 L(r) = {a^nb^m : n + m 是偶数}, r =?

[英]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}因为这保证了像aabaabaab等字符串。不知道如何接近我在标题中发布的那个。 可能的解决方案可能是a^2n, b^2m所以它总是偶数,但像a^nb^3m这样a^nb^3m 2 个奇数也总是偶数。 我可以设置像n>=m这样的边界吗?

谢谢!

您正确地观察到nm必须都是偶数或都是奇数。 只需要补充一点,奇数比偶数多一。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM