One pattern symbol, almost any character
. matches any single character except a newline. That "except newline" is the part everyone forgets and that bites everyone in production.
Pattern c.t matches cat, cot, cut, c@t, c1t, c t, c.t (yes, the literal dot too — because . matches any character including a literal dot).
Pattern . by itself matches every character one at a time, except newlines. Run re.findall(r'.', 'abc') in Python and you get ['a', 'b', 'c'].
The DOTALL / 's' flag
If you want . to also match newlines, you need the DOTALL flag. Python: re.DOTALL or re.S. PCRE / JavaScript / many others: s flag, or the inline (?s). Without it, your pattern stops at every \n in multi-line input — a classic source of "my regex works on one line but not two."
The dot is greedy company
Combined with quantifiers (Track 3), .* means "any character, zero or more times." This is the most powerful and most dangerous combination in all of regex. .* will happily eat your entire file before backtracking. Use lazy quantifiers (.*?) or character classes ([^"]*) instead, almost always. We'll devote multiple lessons to this in the Quantifiers track.