0

我有这种与正则表达式有关的困惑。如果有两组 A然后B

(AB)* = A*B*

4

2 回答 2

6

在正则表达式的情况下: (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 = xyB = 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,.........}   

注意:还包含奇数长度的字符串。

于 2012-11-13T04:50:27.323 回答
1
(AB)* = A*B*  ?

不,首先是语言

 {void, ab, abab, ababab, ...}

第二个是语言

{void, a, b, aa, ab, bb, aaa, ...}
于 2012-11-13T07:02:57.660 回答