the empty string
/ the symbol ε is the Greek letter epsilon, EP-sih-lon /
The empty string is the string with no symbols in it at all, like a blank line you typed when you pressed Enter without typing anything first. It feels like nothing, but in this theory it is a genuine, well-defined object, just as the number zero is a genuine number even though it counts nothing. We need a name for the result of writing down no symbols.
We write the empty string as ε (epsilon); some books use λ (lambda) instead. Its defining property is that it has length zero: |ε| = 0. It also behaves as the do-nothing element for concatenation: gluing ε to any string w on either side leaves w unchanged, so εw = wε = w, exactly the way adding 0 leaves a number unchanged. Every alphabet's set of strings includes ε for free, even though ε contains none of the alphabet's symbols.
The empty string trips up almost every beginner once. First, ε is not a symbol of the alphabet; it is a string (the one with no symbols). Second, and more importantly, the empty string is not the same as the empty set: ε is one particular string, while {} (the empty language) is a collection containing no strings at all. The language {ε}, which contains exactly the empty string, is therefore different from {}; that exact trap gets its own entry below.
εa = a and aε = a. The string ababa can be split as ε followed by ababa, or as ababa followed by ε. |ε| = 0.
ε is the identity for concatenation, the string analogue of the number 0.
The empty string ε is not the empty set. ε is a single string of length 0; the empty set {} is a language with no strings. Confusing them is the classic beginner error.