This document discusses regular expressions and regular languages. It begins with definitions of regular expressions and examples. It then defines the language of a regular expression as the set of strings it describes. It proves that languages described by regular expressions are precisely the regular languages by showing regular expression languages are regular and any regular language can be described by a regular expression. It provides examples and discusses converting between regular expressions and non-deterministic finite automata.