以下正则表达式的区别是什么?(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, ...
串联是将一个集合添加到另一个集合上。A * concat b*将把A *产生的序列与b*产生的序列连接起来,因此:
<empty>, ab, aab, abb, aaaabbbb, bbbbb
并并是将两个集合和结果组合在一起,得到不同的结果。因此,a* U b*将是0个或多个a实例和0个或多个b实例的正则表达式:
<empty>, a, aa, aaa, aaaa, b, bb, bbb, bbbb