📜  常规集

📅  最后修改于: 2020-11-26 10:12:45             🧑  作者: Mango


任何表示正则表达式值的集合都称为正则集合。

正则集的性质

物业1两个规则集的并集是规则的。

证明

让我们采用两个正则表达式

RE 1 = a(aa)*和RE 2 =(aa)*

因此, L 1 = {a,aaa,aaaaa,…..}(奇数长度的字符串,不包括Null)

L 2 = {ε,aa,aaaa,aaaaaa,….}(长度为偶数的字符串,包括Null)

大号1∪L 2 = {ε,A,AA,AAA,AAAA,AAAAA,AAAAAA,……}

(所有可能长度的字符串,包括Null)

RE(L 1∪L2)= A *(其是正则表达式本身)

因此,证明了。

属性2。两个规则集的交集是规则的。

证明

让我们采用两个正则表达式

RE 1 = a(a *)和RE 2 =(aa)*

因此, L 1 = {a,aa,aaa,aaaa,….}(所有可能长度的字符串,不包括Null)

L 2 = {ε,aa,aaaa,aaaaaa,….}(长度为偶数的字符串,包括Null)

大号1∩L 2 = {AA,AAAA,AAAAAA,……}(字符串偶数长度的不含空)

RE(L 1∩L2)= AA(AA)*这是一个正则表达式本身。

因此,证明了。

属性3.常规集合的补码是常规的。

证明

让我们采取正则表达式-

RE =(aa)*

因此, L = {ε,aa,aaaa,aaaaaa,…….}(长度为偶数的字符串,包括Null)

L的补码是所有不在L中的字符串。

因此, L’= {a,aaa,aaaaa,…..}(奇数长度的字符串,不包括Null)

RE(L’)= a(aa)*本身是一个正则表达式。

因此,证明了。

属性4.两个常规集的差是常规的。

证明

让我们采用两个正则表达式-

RE 1 = a(a *)和RE 2 =(aa)*

因此, L 1 = {a,aa,aaa,aaaa,….}(所有可能长度的字符串,不包括Null)

L 2 = {ε,aa,aaaa,aaaaaa,….}(长度为偶数的字符串,包括Null)

L 1 – L 2 = {a,aaa,aaaaa,aaaaaaa,….}

(除Null外,所有奇数长度的字符串)

RE(L 1 -L 2 )= a(aa)*,这是一个正则表达式。

因此,证明了。

属性5.常规集的冲销是常规的。

证明

如果L是正则集,我们必须证明L R也是正则。

L = {01,10,11,10}

RE(L)= 01 + 10 + 11 + 10

L R = {10,01,11,01}

RE(L R )= 01 + 10 + 11 + 10

因此,证明了。

属性6.常规集的关闭是常规的。

证明

如果L = {a,aaa,aaaaa,…….} (奇数长度的字符串,不包括Null)

RE(L)= a(aa)*

L * = {a,aa,aaa,aaaa,aaaaa,………………} (不包括Null的所有长度的字符串)

RE(L *)= a(a)*

因此,证明了。

属性7.两个常规集的连接是常规的。

证明-

RE 1 =(0 + 1)* 0和RE 2 = 01(0 + 1)*

L 1 = {0,00,10,000,010,……} (以0结尾的字符串集)

L 2 = {01,010,011,…..} (以01开头的字符串集)

然后, L 1 L 2 = {001,0010,0011,0001,00010,00011,1001,10010,………….}

设置含有001作为一个子字符串,其可以由RE表示的- (0 + 1)* 001(0 + 1)*

因此,证明了。

与正则表达式相关的身份

给定R,P,L,Q为正则表达式,以下恒等式成立-

  • ∅* =ε
  • ε* =ε
  • RR * = R * R
  • R * R * = R *
  • (R *)* = R *
  • RR * = R * R
  • (PQ)* P = P(QP)*
  • (a + b)* =(a * b *)* =(a * + b *)* =(a + b *)* = a *(ba *)*
  • R +∅=∅+ R = R (联合的身份)
  • Rε=εR = R (级联的标识)
  • L = L∅=∅ (级联的an灭器)
  • R + R = R (等幂定律)
  • L(M + N)= LM + LN (左分配定律)
  • (M + N)L = ML + NL (右分配律)
  • ε+ RR * =ε+ R * R = R *