语言{a b}的正则表达式,包含奇数长度的字符串,并且必须至少包含一个'b'

时间:2019-03-03 18:37:17

标签: regex automata

我尝试了以下解决方案,但可能无法涵盖所有​​字符串

b(aa + ab + ba + bb)* +(aa + ab + ba + bb)* b

这里+表示“或”运算,而*表示重复。

有人可以调试上面的正则表达式吗?

2 个答案:

答案 0 :(得分:1)

RE =(a + b)((a + b)(a + b))* b(a + b)((a + b)(a + b))* + ((a + b)(a + b))* b((a + b)(a + b))*

我希望它将涵盖所有字符串

答案 1 :(得分:0)

签出这个..

b((a+b)(a+b))*

这将导致生成最小长度为1 i-e的字符串 根据您的要求,其中还包含(b);如果您一次关闭

对于1个以上的奇数长度,请多次闭合