^ and $ are positional symbols. They match the beginning and end of a string (or line) respectively. /^foo/ matches "food", but not "afoot"
. matches any single character. /f.o/ matches "flood" or "foo" or "afro"
You can use () to group characters together
[] allow you to match from a set of characters:
e.g. [a-z] will match any single lower case letter. To match an alphanumeric character, you could use [a-zA-Z0-9_]
If the first character inside a [] class is ^ then the compliment of those characters is matched
A single unit or atom can be matched any number of times by being modified by a quantifier