关于给出的情况,我有以下问题,然后我们需要从中推导出正则表达式。
我现在需要做的是为A,B和C的旋钮运动描述这种语言的正则表达式。因为如果我要遍历C,我必须通过B,反之亦然,我知道B必须作为表达的一部分存在。
这是我的尝试:
ABC U ABA U BAB U BCB U CBA U CBC
简化它:
AB(C U A)U B(AB U CB)U CB(A U C)
我不完全确定我是否正确行事,因为我发现我是强暴的。我很难得到正则表达式,所以我会感激一些修正。
答案 0 :(得分:0)
您的表达式不会捕获短序列(例如单个A
)或重复字母。
我认为否定前瞻是最简单的写作方式。允许的转换是:
A(?!C)
B
C(?!A)
结合这些规则:
(A(?!C)|B|C(?!A))+