Regular Expression for Simple Language I'm having trouble writing a regular expression given the following $\{a, b, c\}$ which produces the set of strings of length 3. I don't really understand how to restrict the length of the string. Obviously you could have 3 $a$'s, or 3 $b$'s or 3 $c$'s, but you could have $aab, aac, aba, \dots $

Is it something like $a^* \cup b^* \cup c^*$?
The regular expression you have given gives the language
$$\{\varepsilon, a, aa, aaa, \dots\} \cup \{\varepsilon, b, bb, bbb, \dots\} \cup \{\varepsilon, c, cc, ccc, \dots\}$$
$$= \{\varepsilon, a, aa, aaa, \dots, b, bb, bbb, \dots, c, cc, ccc, \dots\},$$
which is clearly not what you are after.

Using only union ($\cup$), concatenation ($\circ$), and the Kleene star ($^*$), you could do something like
$$(a \cup b \cup c) \circ (a \cup b \cup c) \circ (a \cup b \cup c).$$
I think it can be simply written as $((a+b+c)^3)^*$ since $(a+b+c)^3$ will produce all strings of length $3$.