You are on page 1of 14

Regular Expressions

A. Senthil - Professor/CSE 1
Regular Expressions
Regular expressions
describe regular languages

Example: (a + b × c) *

describes the language


{a, bc}* = {l , a, bc, aa, abc, bca,...}

A. Senthil - Professor/CSE 2
Recursive Definition
Primitive regular expressions: Æ, l , a

Given regular expressions r1 and r2

r1 + r2
r1 × r2
Are regular expressions
r1 *
(r1 )
A. Senthil - Professor/CSE 3
Examples

A regular expression: (a + b × c ) * ×(c + Æ)

Not a regular expression: (a + b + )

A. Senthil - Professor/CSE 4
Languages of Regular Expressions

L (r ) : language of regular expression r

Example

L((a + b × c) *) = {l , a, bc, aa, abc, bca,...}

A. Senthil - Professor/CSE 5
Definition

For primitive regular expressions:

L(Æ ) = Æ

L(l ) = {l }

L(a ) = {a}
A. Senthil - Professor/CSE 6
Definition (continued)

For regular expressions r1 and r2

L(r1 + r2 ) = L(r1 ) È L(r2 )

L(r1 × r2 ) = L(r1 ) L(r2 )

L(r1 *) = ( L(r1 )) *

L((r1 )) = L(r1 )
A. Senthil - Professor/CSE 7
Example
Regular expression: (a + b ) × a *
L((a + b ) × a *) = L((a + b )) L(a *)
= L(a + b ) L(a *)
= ( L(a ) È L(b )) ( L(a )) *
= ({a} È {b}) ({a}) *
= {a, b}{l , a, aa, aaa,...}
= {a, aa, aaa,..., b, ba, baa,...}
A. Senthil - Professor/CSE 8
Example

Regular expression r = (a + b ) * (a + bb )

L(r ) = {a, bb, aa, abb, ba, bbb,...}

A. Senthil - Professor/CSE 9
Example

Regular expression r = (aa ) * (bb ) * b

L(r ) = {a b
2n 2m
b : n, m ³ 0}

A. Senthil - Professor/CSE 10
Example

Regular expression r = (0 + 1) * 00 (0 + 1) *

L(r ) = { all strings with at least


two consecutive 0 }

A. Senthil - Professor/CSE 11
Example

Regular expression r = (1 + 01) * (0 + l )

L(r ) = { all strings without


two consecutive 0 }

A. Senthil - Professor/CSE 12
Equivalent Regular Expressions

Definition:

Regular expressions r1 and r2

are equivalent if L(r1) = L(r2 )

A. Senthil - Professor/CSE 13
Example
L = { all strings without
two consecutive 0 }

r1 = (1 + 01) * (0 + l )
r2 = (1* 011*) * (0 + l ) + 1* (0 + l )

r1 and r2
L(r1) = L(r2 ) = L are equivalent
regular expr.
A. Senthil - Professor/CSE 14

You might also like