寻找正则表达式的补充

seg*_*ult 4 regex

alt text http://img31.imageshack.us/img31/4383/image24xu.jpg

在我的练习表上有一个问题要找到补充 r = (a|b)*ab(a|b)*

我想出了一个解决方案,但我不确定它是否正确.请帮我检查一下,纠正错误.

Mar*_*ers 5

我假设a,并b是唯一允许的符号.

您的原始表达式匹配包含的任何字符串ab.补码是任何不包含的字符串ab.换句话说,如果有a下一个字符必须是另一个a或字符串的结尾.如果b发生,它必须在所有as 之前.

这样就得到了结果:

b*a*
Run Code Online (Sandbox Code Playgroud)

我认为你的表达方式与此相当.