0% found this document useful (0 votes)
131 views6 pages

1 Regular Expression

The document discusses regular expressions and regular languages. Some key points: - Regular expressions are used to describe regular languages and find patterns in strings. They represent languages in the most effective way. - Common operations on regular languages include union, intersection, and Kleene closure. - Examples demonstrate how to write regular expressions for languages over various alphabets with different constraints, such as containing certain subsequences or having a minimum/maximum length. - Regular expressions use operators like *, +, and parentheses to represent repetitions, alternatives, and grouping in languages.

Uploaded by

Francisco Bajo
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)
131 views6 pages

1 Regular Expression

The document discusses regular expressions and regular languages. Some key points: - Regular expressions are used to describe regular languages and find patterns in strings. They represent languages in the most effective way. - Common operations on regular languages include union, intersection, and Kleene closure. - Examples demonstrate how to write regular expressions for languages over various alphabets with different constraints, such as containing certain subsequences or having a minimum/maximum length. - Regular expressions use operators like *, +, and parentheses to represent repetitions, alternatives, and grouping in languages.

Uploaded by

Francisco Bajo
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

Module 4: REGULAR EXPRESSION

Regular Expression

o 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.
o The languages accepted by some regular expressions are referred to as
Regular languages.
o A regular expression can also be described as a sequence of patterns that
defines a string.
o Regular expressions are used to match character combinations in strings.
The string searching algorithm used this pattern to find the operations on
a string.

For instance:

In a regular expression, x* means zero or more occurrence of x. It can generate


{e, x, xx, xxx, xxxx, .....}

In a regular expression, x+ means one or more occurrence of x. It can generate


{x, xx, xxx, xxxx, .....}

REGULAR LANGUAGES
Module 4: REGULAR EXPRESSION

Operations on Regular Language


The various operations on regular language are:

Union: If L and M are two regular languages then their union L U M is also a
union.

1. 1. L U M = {s | s is in L or s is in M}

Intersection: If L and M are two regular languages then their intersection is


also an intersection.

1. 1. L ⋂ M = {st | s is in L and t is in M}

Kleen closure: If L is a regular language then its Kleen closure L1* will also
be a regular language.

1. 1. L* = Zero or more occurrence of language L.


Example 1:

Write the regular expression for the language accepting all combinations of a's,
over the set ∑ = {a}

Solution:

All combinations of a's means a may be zero, single, double and so on. If a is
appearing zero times, that means a null string. That is we expect the set of {ε, a,
aa, aaa, ....}. So we give a regular expression for this as:

1. R = a*

That is Kleen closure of a.

Example 2:

Write the regular expression for the language accepting all combinations of a's
except the null string, over the set ∑ = {a}

Solution:

The regular expression has to be built for the language

1. L = {a, aa, aaa, ....}


Module 4: REGULAR EXPRESSION

This set indicates that there is no null string. So we can denote regular
expression as:

R = a+
Example 3:

Write the regular expression for the language accepting all the string containing
any number of a's and b's.

Solution:

The regular expression will be:

1. r.e. = (a + b)*

This will give the set as L = {ε, a, aa, b, bb, ab, ba, aba, bab, .....}, any combination
of a and b.

The (a + b)* shows any combination with a and b even a null string.

Examples of Regular Expression


Example 1:
Write the regular expression for the language accepting all the string which are
starting with 1 and ending with 0, over ∑ = {0, 1}.

Solution:

In a regular expression, the first symbol should be 1, and the last symbol should
be 0. The r.e. is as follows:

1. R = 1 (0+1)* 0
Example 2:
Write the regular expression for the language starting and ending with a and
having any having any combination of b's in between.

Solution:

The regular expression will be:

1. R = a b* b
Module 4: REGULAR EXPRESSION

Example 3:
Write the regular expression for the language starting with a but not having
consecutive b's.

Solution: The regular expression has to be built for the language:

1. L = {a, aba, aab, aba, aaa, abab, .....}

The regular expression for the above language is:

1. R = {a + ab}*
Example 4:
Write the regular expression for the language accepting all the string in which
any number of a's is followed by any number of b's is followed by any number
of c's.

Solution: As we know, any number of a's means a* any number of b's means
b*, any number of c's means c*. Since as given in problem statement, b's appear
after a's and c's appear after b's. So the regular expression could be:

1. R = a* b* c*
Example 5:
Write the regular expression for the language over ∑ = {0} having even length
of the string.

Solution:

The regular expression has to be built for the language:

1. L = {ε, 00, 0000, 000000, ......}

The regular expression for the above language is:

1. R = (00)*
Example 6:
Write the regular expression for the language having a string which should have
atleast one 0 and at least one 1.

Solution:
Module 4: REGULAR EXPRESSION

The regular expression will be:

1. R = [(0 + 1)* 0 (0 + 1)* 1 (0 + 1)*] + [(0 + 1)* 1 (0 + 1)* 0 (0 + 1)*]


Example 7:
Describe the language denoted by following regular expression

1. r.e. = (b* (aaa)* b*)*

Solution:

The language can be predicted from the regular expression by finding the
meaning of it. We will first split the regular expression as:

r.e. = (any combination of b's) (aaa)* (any combination of b's)

L = {The language consists of the string in which a's appear triples, there is no
restriction on the number of b's}

Example 8:
Write the regular expression for the language L over ∑ = {0, 1} such that all the
string do not contain the substring 01.

Solution:

The Language is as follows:

1. L = {ε, 0, 1, 00, 11, 10, 100, .....}

The regular expression for the above language is as follows:

1. R = (1* 0*)

Example 9:
Write the regular expression for the language containing the string over {0, 1}
in which there are at least two occurrences of 1's between any two occurrences
of 1's between any two occurrences of 0's.

Solution: At least two 1's between two occurrences of 0's can be denoted by
(0111*0)*.

Similarly, if there is no occurrence of 0's, then any number of 1's are also
allowed. Hence the r.e. for required language is:
Module 4: REGULAR EXPRESSION

1. R = (1 + (0111*0))*
Example 10:
Write the regular expression for the language containing the string in which
every 0 is immediately followed by 11.

Solution:

The regular expectation will be:

1. R = (011 + 1)*

You might also like