以下正则表达式有什么区别? (a U b)*和(ab)*
联合和连接之间的区别? 以上哪个正则表达式接受'a'总是在'b'之前的字符串?
请澄清..提前致谢。
答案 0 :(得分:3)
(ab)*表示序列ab的更多实例为零。例如,
<empty>, ab, abab, ababab
考虑一个*和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是组合两个集合并产生不同的结果。因此,a * U b *将是零个或多个实例的正则表达式和零个或多个b实例:
<empty>, a, aa, aaa, aaaa, b, bb, bbb, bbbb