0% found this document useful (0 votes)
117 views17 pages

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views17 pages

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
We take content rights seriously. If you suspect this is your content, claim it here.
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