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:
Meta-character | Description |
---|---|
\ | general escape character with several uses |
^ | assert start of subject (or line, in multiline mode) |
$ | assert end of subject or before a terminating newline (or end of 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 makes greedy quantifiers lazy (see repetition) |
* | 0 or more quantifier |
+ | 1 or more quantifier |
{ | start min/max quantifier |
} | end min/max quantifier |
Meta-character | Description |
---|---|
\ | general escape character |
^ | negate the class, but only if the first character |
- | indicates character range |