You compose regular expressions from operators. In the following sections, we describe the regular expression operators specified by POSIX; GNU also uses these. Most operators have more than one representation as characters. See Regular Expression Syntax, for what characters represent what operators under what circumstances.
For most operators that can be represented in two ways, one
representation is a single character and the other is that character
preceded by ‘\’. For example, either ‘(’ or ‘\(’
represents the open-group operator. Which one does depends on the
setting of a syntax bit, in this case
RE_NO_BK_PARENS. Why is
this so? Historical reasons dictate some of the varying
representations, while POSIX dictates others.
Finally, almost all characters lose any special meaning inside a list (see List Operators).