簡體   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