我有这种与正则表达式有关的困惑。如果有两组 A
然后B
是(AB)* = A*B*
?
No, (AB)* is not equals to A*B*
(AB)* means ABABABABAB......AB
AB 序列(任意次数)。
A*B* means AAAA.....BBB......
任意数量的 A 后跟任意数量的 B。A不能出现在B之后。
交叉口 - 两者{ 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,.........}
注意:还包含奇数长度的字符串。
(AB)* = A*B* ?
不,首先是语言
{void, ab, abab, ababab, ...}
第二个是语言
{void, a, b, aa, ab, bb, aaa, ...}