Âncoras e o ponto
Há metacaracteres e metasequências que casam com o início e o fim de uma string. Eles são chamados de âncoras, e casam com posições ao invés de caracteres.
O metacaractere ^
casa com o início da string e o metacaractere $
casa com o final da
string. Porém, quando o modo multilinha está ativo, eles casam com o início e o fim da linha. Com o modo
multilinha inativo, a expressão regular ^ab
casa com uma string que comece com ab e a
expressão regular ab$
casa com uma string que termine com ab. Com o modo multilinha ativo,
essas expressões casam com linhas que comecem e terminem com ab, respectivamente.
E se você quiser casar com o ^
ou o $
de forma literal? Como isso pode ser feito, já que
eles são metacaracteres? Nesse caso, é preciso usar a \
, que é um caractere de escape que é usado
para fazer com que metacaracteres percam o significado especial deles e sejam interpretados como caracteres
literais. Assim, a expressão regular \^
casa com um acento circunflexo e a expressão regular
\$ 20, 00
casa com a string $ 20, 00.
Há também as metasequências \A
e \z
, que são equivalentes aos metacaracteres
^
e $
, respectivamente, mas com uma diferença: elas sempre casam com o início e o fim da
string, mesmo no modo multilinha. Há também a metasequência \Z
, que é como a \z
, mas com
a diferença que também pode casar com uma quebra de linha que finalize a string, se houver alguma.
O metacaractere .
casa com qualquer caractere, exceto quebras de linha. Exemplo: .u
(casa com fu, 2u, !u, dentre outros).