从正则语言派生正则表达式

kay*_*ayn 2 regex regular-language

鉴于下面的语言,我如何找到该语言的正则表达式

L = {a ^nb ^m | n => 1, m =>1, nm =>3}

Sea*_*ney 5

n>=1 和 m>=1 和 nm>=3 对以下各项均成立:

n=1,m>=3

n>=3,m=1

n>=2,m>=2

所以 L = { abbb, abbbb, abbbbb, ... } U { aaab, aaaab, aaaaab, ... } U { a^nb^m | n>=2,m>=2 }

这个正则表达式应该等价于 L:

((abbb(b*)) | (aaa(a*)b) | (aa(a*)bb(b*)))

可能有比这更简洁的答案。