自动机正则表达式 - 串联和并集的区别
Automata Regular expression - difference between concatenation & union
以下正则表达式有什么区别?
(a U b)* 和 (ab)*
并集和串联的区别?
上面哪个正则表达式接受 'a' 总是在 'b' 之前的字符串?
请澄清..提前致谢。
(ab)* 表示序列 ab 的多个实例中的零个。例如,
<empty>, ab, abab, ababab
考虑 a* 和 b*:
a*: <empty>, a, aa, aaa, aaa, ...
b*: <empty>, b, bb, bbb, bbb, ...
Concatenation 是将一组添加到另一组。 a* concat b* 会将 a* 产生的序列与 b* 产生的序列连接起来,因此:
<empty>, ab, aab, abb, aaaabbbb, bbbbb
Union 是组合两个集合并产生不同的 results.So,a* U b* 将是零个或多个 a 实例和零个或多个 b 实例的正则表达式:
<empty>, a, aa, aaa, aaaa, b, bb, bbb, bbbb
以下正则表达式有什么区别? (a U b)* 和 (ab)*
并集和串联的区别? 上面哪个正则表达式接受 'a' 总是在 'b' 之前的字符串?
请澄清..提前致谢。
(ab)* 表示序列 ab 的多个实例中的零个。例如,
<empty>, ab, abab, ababab
考虑 a* 和 b*:
a*: <empty>, a, aa, aaa, aaa, ...
b*: <empty>, b, bb, bbb, bbb, ...
Concatenation 是将一组添加到另一组。 a* concat b* 会将 a* 产生的序列与 b* 产生的序列连接起来,因此:
<empty>, ab, aab, abb, aaaabbbb, bbbbb
Union 是组合两个集合并产生不同的 results.So,a* U b* 将是零个或多个 a 实例和零个或多个 b 实例的正则表达式:
<empty>, a, aa, aaa, aaaa, b, bb, bbb, bbbb