[英]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.