📅  最后修改于: 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为正则表达式,以下恒等式成立-