Meta-characters
The power of regular expressions comes from the ability to include alternatives and repetitions in the pattern. These are encoded in the pattern by the use of meta-characters, which do not stand for themselves but instead are interpreted in some special way.
There are two different sets of meta-characters: those that are recognized anywhere in the pattern except within square brackets, and those that are recognized in square brackets. Outside square brackets, the meta-characters are as follows:
- \
- general escape character with several uses
- ^
- assert start of subject (or line, in multiline mode)
- $
- assert end of subject (or line, in multiline mode)
- .
- match any character except newline (by default)
- [
- start character class definition
- ]
- end character class definition
- |
- start of alternative branch
- (
- start subpattern
- )
- end subpattern
- ?
- extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer
- *
- 0 or more quantifier
- +
- 1 or more quantifier
- {
- start min/max quantifier
- }
- end min/max quantifier
Part of a pattern that is in square brackets is called a "character class". In a character class the only meta-characters are:
- \
- general escape character
- ^
- negate the class, but only if the first character
- -
- indicates character range
- ]
- terminates the character class
The following sections describe the use of each of the meta-characters.
Meta-characters
