0% found this document useful (0 votes)
98 views

Regular Expression

The document discusses regular expressions and their properties. Regular expressions can be used to describe languages accepted by finite automata. A regular expression defines a set of strings and can be recursively defined. Several properties of regular expressions and identities related to them are proved.

Uploaded by

Khushbul Alam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

Regular Expression

The document discusses regular expressions and their properties. Regular expressions can be used to describe languages accepted by finite automata. A regular expression defines a set of strings and can be recursively defined. Several properties of regular expressions and identities related to them are proved.

Uploaded by

Khushbul Alam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Regular Expression

Afsana Afrin
Lecturer
Dept of Computer Science and Engineering
Bangladesh Army University of Science & Technology
Regular Expression

• The language accepted by finite automata can be easily described by


simple expressions called Regular Expressions. It is the most effective way
to represent any language.
• The languages accepted by some regular expression are referred to as
Regular languages.
• A regular expression can also be described as a sequence of pattern that
defines a string.
Regular Expression

A Regular Expression can be recursively defined as follows −


• ε is a Regular Expression indicates the language containing an empty string.
(L (ε) = {ε})
• φ is a Regular Expression denoting an empty language. (L (φ) = { })
• x is a Regular Expression where L = {x}
• If X is a Regular Expression denoting the language L(X) and Y is a Regular
Expression denoting the language L(Y), then
 X + Y is a Regular Expression corresponding to the language L(X) ∪ L(Y)
where L(X+Y) = L(X) ∪ L(Y).
 X . Y is a Regular Expression corresponding to the language L(X) . L(Y)
where L(X.Y) = L(X) . L(Y)
 R* is a Regular Expression corresponding to the language L(R*)where
L(R*) = (L(R))*
Regular Expression
Regular Expressions Regular Set
(0 + 10*) L = { 0, 1, 10, 100, 1000, 10000, … }
(0*10*) L = {1, 01, 10, 010, 0010, …}
(0 + ε)(1 + ε) L = {ε, 0, 1, 01}
Set of strings of a’s and b’s of any length including the null string. So L =
(a+b)*
{ ε, a, b, aa , ab , bb , ba, aaa…….}
Set of strings of a’s and b’s ending with the string abb. So L = {abb,
(a+b)*abb
aabb, babb, aaabb, ababb, …………..}
Set consisting of even number of 1’s including empty string, So L= {ε,
(11)*
11, 1111, 111111, ……….}
Set of strings consisting of even number of a’s followed by odd number
(aa)*(bb)*b
of b’s , so L = {b, aab, aabbb, aabbbbb, aaaab, aaaabbb, …………..}
String of a’s and b’s of even length can be obtained by concatenating any
(aa + ab + ba + bb)* combination of the strings aa, ab, ba and bb including null, so L = {aa,
ab, ba, bb, aaab, aaba, …………..}
Regular Set

Property 1. The union of two regular set is regular.

Proof −
Let us take two regular expressions
RE1 = a(aa)* and RE2 = (aa)*
So, L1 = {a, aaa, aaaaa,.....} (Strings of odd length excluding Null)
and L2 ={ ε, aa, aaaa, aaaaaa,.......} (Strings of even length including Null)
L1 ∪ L2 = { ε, a, aa, aaa, aaaa, aaaaa, aaaaaa,.......} (Strings of all possible lengths
including Null)
RE (L1 ∪ L2) = a* (which is a regular expression itself)
Hence, proved.
Regular Set

Property 2. The intersection of two regular set is regular.

Proof −
Let us take two regular expressions
RE1 = a(a*) and RE2 = (aa)*
So, L1 = { a,aa, aaa, aaaa, ....} (Strings of all possible lengths excluding Null)
L2 = { ε, aa, aaaa, aaaaaa,.......} (Strings of even length including Null)
L1 ∩ L2 = { aa, aaaa, aaaaaa,.......} (Strings of even length excluding Null)
RE (L1 ∩ L2) = aa(aa)* which is a regular expression itself.
Hence, proved.
Regular Set

Property 3. The complement of a regular set is regular.

Proof −
Let us take a regular expression −
RE = (aa)*
So, L = {ε, aa, aaaa, aaaaaa, .......} (Strings of even length including Null)
Complement of L is all the strings that is not in L.
So, L’ = {a, aaa, aaaaa, .....} (Strings of odd length excluding Null)
RE (L’) = a(aa)* which is a regular expression itself.
Hence, proved.
Regular Set

Property 4. The difference of two regular set is regular.

Proof −
Let us take two regular expressions −
RE1 = a (a*) and RE2 = (aa)*
So, L1 = {a, aa, aaa, aaaa, ....} (Strings of all possible lengths excluding Null)
L2 = { ε, aa, aaaa, aaaaaa,.......} (Strings of even length including Null)
L1 – L2 = {a, aaa, aaaaa, aaaaaaa, ....}
(Strings of all odd lengths excluding Null)
RE (L1 – L2) = a (aa)* which is a regular expression.
Hence, proved.
Regular Set

Property 5. The reversal of a regular set is regular.

Proof −
We have to prove LR is also regular if L is a regular set.
Let, L = {01, 10, 11, 10}
RE (L) = 01 + 10 + 11 + 10
LR = {10, 01, 11, 01}
RE (LR) = 01 + 10 + 11 + 10 which is regular
Hence, proved.
Regular Set

Property 5.1 If E=E1 + E2, Then ER =E1R + E2R.

Proof −
Let, L(E1 )= {01, 110} and L(E2 ) = {001, 10}
L(E1 +E2 )= {01, 110, 001, 10}
The reversal of the language is
L(ER )={10, 011, 100, 01}

L(E1R ) = {10, 011} and L(E2R ) = {100, 01}


L(E1R + E2R) = {10, 011,100, 01}
Hence, ER =E1R + E2R.
Regular Set

Property 5.2 If E=E1*, Then ER =(E1R )* .

Proof −
Let, L(E1 )= {01}
L(E1* )= L(E)= {ε ,01,0101,010101,………}
The reversal of the language is
L(ER )={ε,10,1010,101010,……}

L(E1R ) = {10}
L(( E1R)* ) = {ε, 10,1010, 101010,…….}

Hence, ER =(E1R )* .
Regular Set

Property 5.3 If E=E1E2, Then ER =E2R E1R.

Proof −
Let, L(E1 )= {01, 111} and L(E2 ) = {00, 10}
L(E1 E2 )= L(E)= {0100, 0110, 11100, 11110}
The reversal of the language is
L(ER )={0010,0110, 00111, 01111}

L(E2R ) = {00, 01} and L(E1R ) = {10, 111}


L(E2R E1R) = {0010, 0110,00111, 01111}

Hence, ER =E2R E1R


Regular Set

Property 6. The closure of a regular set is regular.

Proof −
If L = {a, aaa, aaaaa, .......} (Strings of odd length excluding Null)
i.e., RE (L) = a (aa)*
L* = {a, aa, aaa, aaaa , aaaaa,……………} (Strings of all lengths excluding Null)
RE (L*) = a (a)*
Hence, proved.
Regular Set

Property 7. The concatenation of two regular sets is regular.

Proof −
Let RE1 = (0+1)*0 and RE2 = 01(0+1)*
Here, L1 = {0, 00, 10, 000, 010, ......} (Set of strings ending in 0)
and L2 = {01, 010,011,.....} (Set of strings beginning with 01)
Then, L1 L2 = {001,0010,0011,0001,00010,00011,1001,10010,.............}
Set of strings containing 001 as a substring which can be represented by an RE − (0
+ 1)*001(0 + 1)*
Hence, proved.
Identities Related to Regular Expressions

Given R, P, L, Q as regular expressions, the following identities hold −

• ∅* = ε
• ε* = ε
• RR* = R*R
• R*R* = R*
• (R*)* = R*
• (PQ)*P =P(QP)*
• (a+b)* = (a*b*)* = (a*+b*)* = (a+b*)* = a*(ba*)*
• R + ∅ = ∅ + R = R (The identity for union)
• R ε = ε R = R (The identity for concatenation)
Identities Related to Regular Expressions

Given R, P, L, Q as regular expressions, the following identities hold −

• ∅ L = L ∅ = ∅ (The annihilator for concatenation)


• R + R = R (Idempotent law)
• L (M + N) = LM + LN (Left distributive law)
• (M + N) L = ML + NL (Right distributive law)
• ε + RR* = ε + R*R = R*
Thank You.
Questions and Answer

You might also like