As well as the basic matching rules and bracket expressions, you can use the following syntax within a Basic Regular Expression to control what it matches:
| Syntax Specifier | Description |
|---|---|
| \(expression\) | Matches whatever expression matches. You only need to enclose an expression in these delimiters to use operators (such as * or +) on it and to denote subexpressions for backreferencing (explained below). |
| \n | Matches the same string
that was matched by the nth
preceding expression enclosed in \( \). This is
called a backreference. n
can be 1 through 9. For example, \(ab\)\1 matches abab, but does not match ac. If fewer than n subexpressions precede \n, the backreference is not valid. |
| expression * | Matches
zero or more consecutive occurrences of what expression
matches. expression can be a single
character or collating symbol, a subexpression, or a
backreference. For example, [ab]* matches ab
and ababab ; b*cd matches
characters 3 to 7 of cabbbcdeb . |
| expression\{m\} | Matches exactly m occurrences of what expression matches. expression can be a single character or collating symbol,
a subexpression, or a backreference. For example, c\{3\} matches characters 5 through 7 of ababccccd (the first 3 c characters only). |
| expression\{m,\} | Matches at least m occurrences of what expression matches. expression can be a single character or collating symbol, a
subexpression, or a backreference. For example, \(ab\)\{3,\} matches abababab, but does not match ababac. |
| expression\{m,u\} | Matches any number of
occurrences, between m
and u inclusive, of what expression matches. expression can be a single character or collating symbol,
a subexpression, or a backreference. For example, bc\{1,3\} matches characters 2 through 4 of abccd and characters 3 through 6 of abbcccccd. |
| ^expression | Matches only sequences
that match expression that start at the first character of a string
or after a new-line character if the REG_NEWLINE flag was
specified for the regcomp function. For example, ^ab matches ab in the string abcdef, but does not match it in the string cdefab. The expression can be the entire RE or any
subexpression of it.When ^ is the first character of a subexpression, other implementations could interpret it as a literal character. To ensure portability, avoid using ^ at the beginning of a subexpression; to use it as a literal character, precede it with a backslash. |
| expression$ | Matches only sequences
that match expression that end the string or that precede the
new-line character if the REG_NEWLINE flag was specified
for the regcomp function. For example, ab$ matches ab in the string cdefab but does not match it in the string abcdef. The expression must be the entire RE.When $ is the last character of a subexpression, it is treated as a literal character. Other implementations could interpret is as described above. To ensure portability, avoid using $ at the end of a subexpression; to use it as a literal character, precede it with a backslash. |
| ^expression$ | Matches only an entire
string, or an entire line if the REG_NEWLINE flag was
specified for the regcomp
function. For example, ^abcde$ matches only abcde. |