even_0_even_1→(00|11)*((01|10)(00|11)*(01|10)(00|11)*)*
even_0_odd_1→1even_0_even_1|0(00|11)*(01|10)even_0_even_1
對於偶數個0和奇數個1構成的串,其第一個字符可能是0或1。
(1)如果是1,那么剩下的部分一定是偶數個0和偶數個1
(2)如果是0,那么經過若干個00或11,一定會出現一個01或10,才能保證0的個數是偶數,1的個數是奇數。若串還沒有結束,剩余部分一定是偶數個0和偶數個1。
這樣,正確的正規定義是:
even_0_odd_1→1even_0_even_1|0(00|11)*(01|10)even_0_even_1
注意:*均應在其左面第一個右括號的右上角,為書寫方便直接寫在了后面 :)