^
)This operator can match the empty string either at the beginning of the string or after a newline character. Thus, it is said to anchor the pattern to the beginning of a line.
In the cases following, ^
represents this operator. (Otherwise,
^
is ordinary.)
^
) is first in the pattern, as in ^foo
.
RE_CONTEXT_INDEP_ANCHORS
is set, and it is outside
a bracket expression.
a\(^b\)
and a\|^b
. See Grouping Operators, and Alternation Operator.
These rules imply that some valid patterns containing ^
cannot be
matched; for example, foo^bar
if RE_CONTEXT_INDEP_ANCHORS
is set.
If the not_bol
field is set in the pattern buffer (see GNU Pattern Buffers), then ^
fails to match at the beginning of the
string. See POSIX Matching, for when you might find this useful.
If the newline_anchor
field is set in the pattern buffer, then
^
fails to match after a newline. This is useful when you do not
regard the string to be matched as broken into lines.