让我们{a,b,c}
成为字母表。我必须构造一个匹配这个字母表上任何输入的正则表达式,如果aa
出现在输入中,那么cc
也必须出现(在输入中的某个地方)。
没有向前看,没有向后看,没有反向引用,只需使用量词 + 和 *,通过括号分组和通过|
.
问题是我不知道如何解决这个问题。例如,这些输入必须匹配:
- 阿爸
- 密件抄送
- 支链氨基酸
- "" (空输入)
- bccbaa
- ccbaabb
以下内容不得匹配:
- 啊
- abaaab
- 咩
- 民航局
我怎样才能构建这样的正则表达式,只使用这些工具?
更新
我想过
((cc(b|c)*aa)|(aa(b|c)*cc))+|(ab|ba|ca|ca|bb|bc|cc)*
你怎么看,这是否符合规范?