我对正则表达式有这种困惑。如果两套 A
和B
则
是(AB)* = A*B*
?
答案 0 :(得分:5)
No, (AB)* is not equals to A*B*
(AB)* means ABABABABAB......AB
一系列AB(任意数量的时间)
A*B* means AAAA.....BBB......
任意数量的A,后跟任意数量的B。在B之后,A不能出现。
交叉点 - 两者仅包括{ NULL string, AB }
示例:
假设:A = xy
和B = z
(AB)* = xyzxyz.....xyz
A*B* = xyxyxyxy....zzzz....z
交叉点 - 两者仅包含{ NULL string, xyz}
。
示例:
假设 -
A = {a, b},
B = {c, d}
然后,
(AB)* = ((a + b)(c + d))* , Its language
L = { ac, ab, acbd, acac, .....}
注意:此语言中的所有字符串都是均匀的!
和
A*B* = (a + b)* (c + d)* , Its language
L = { a, b, c, d, ac, ad, bc, bd, acbd, addb,.........}
注意:还包含奇数长度的字符串。
答案 1 :(得分:1)
(AB)* = A*B* ?
没有。第一个是语言
{void, ab, abab, ababab, ...}
第二个是语言
{void, a, b, aa, ab, bb, aaa, ...}