the base cases of regular expressions
Every regular expression is built up by combining smaller ones, so the construction has to start somewhere. The base cases are the smallest, indivisible regular expressions, the atoms you cannot break down further. Just as sentences are built from words and words from letters, complicated patterns are built from these three starting points.
There are exactly three kinds of base case. First, for each symbol a in the alphabet Σ (Sigma), the expression a denotes the language { a }, the single one-symbol string. Second, the symbol ε (epsilon) denotes the language { ε }, whose only member is the empty string (a string of length zero). Third, the symbol ∅ denotes the empty language { }, which contains no strings at all. It is worth pausing on the difference between the last two: { ε } has exactly one element (the empty string), while ∅ has none. They behave very differently in formulas.
These atoms matter because every theorem about regular expressions, and every inductive definition of what an expression means, is anchored on them. When you prove something by structural induction over regular expressions, the base cases are where you check the three atoms, and the inductive step covers union, concatenation, and star. Get the atoms right and the rest follows mechanically.
Compare the three atoms: a denotes { a } (one string of length 1), ε denotes { ε } (one string of length 0), and ∅ denotes { } (no strings). For instance, concatenating ε onto anything changes nothing, while concatenating ∅ onto anything wipes it out to ∅.
The empty-string atom ε and the empty-set atom ∅ are not the same.
Do not confuse ε with ∅: ε is a string (the empty one) and { ε } has one element; ∅ is a language with zero elements. Treating them as the same is a classic beginner error.