Resumo : neste tutorial, você aprenderá sobre âncoras de expressões regulares que permitem corresponder uma posição antes ou depois dos caracteres.
As âncoras têm um significado especial em expressões regulares . Eles não correspondem a nenhum personagem. Em vez disso, eles correspondem a uma posição antes ou depois dos caracteres:
-
^
– A âncora circunflexa corresponde ao início do texto. -
$
– A âncora do dólar corresponde ao final do texto.
Veja o exemplo a seguir:
let str = 'JavaScript';
console.log(/^J/.test(str));
Linguagem de código: JavaScript ( javascript )
Saída:
true
Linguagem de código: JavaScript ( javascript )
Corresponde /^J/
a qualquer texto que comece com a letra J
. Ele retorna true
.
O exemplo a seguir retorna false
porque a string JavaScript
não começa com a letra S
:
let str = 'JavaScript';
console.log(/^S/.test(str));
Linguagem de código: JavaScript ( javascript )
Saída:
false
Linguagem de código: JavaScript ( javascript )
Da mesma forma, o exemplo a seguir retorna true
porque a string JavaScript
termina com a letra t
:
let str = 'JavaScript';
console.log(/t$/.test(str));
Linguagem de código: JavaScript ( javascript )
Saída:
true
Linguagem de código: JavaScript ( javascript )
Freqüentemente, você precisará usar âncoras ^
e $
verificar se uma string corresponde totalmente a um padrão.
O exemplo a seguir verifica se uma string de entrada corresponde a um formato de hora hh:mm
como 12:05
:
let isValid = /^\d\d:\d\d$/.test('12:05');
console.log(isValid);
Linguagem de código: JavaScript ( javascript )
Saída:
true
Linguagem de código: JavaScript ( javascript )
O exemplo a seguir retorna false
:
let valid = /^\d\d:\d\d$/.test('12:105');
console.log(valid);
Linguagem de código: JavaScript ( javascript )
Saída:
false
Linguagem de código: JavaScript ( javascript )
Modo multilinha de âncoras ^
e $
: o sinalizador m
O padrão da âncora ^
ou $
é o modo de linha única. No modo de linha única, a âncora ^
e $
corresponde ao início e ao fim de uma string.
Para ativar o modo multilinha, você usa m
flag. No modo multilinha, a âncora ^
ou $
corresponde ao início ou fim da string, bem como ao início ou fim das linhas.
O exemplo a seguir retorna apenas o primeiro dígito da string multilinha:
let str = `1st line
2nd line
3rd line`;
let re = /^\d/g;
let matches = str.match(re);
console.log(matches);
Linguagem de código: JavaScript ( javascript )
Saída:
["1"]
Linguagem de código: JSON/JSON com comentários ( json )
Se você adicionar a flag m
, a âncora ^
também corresponderá ao dígito no início da linha, assim:
let str = `1st line
2nd line
3rd line`;
let re = /^\d/gm;
let matches = str.match(re);
console.log(matches);
Linguagem de código: JavaScript ( javascript )
Saída:
["1", "2", "3"]
Linguagem de código: JSON/JSON com comentários ( json )
Resumo
- Use a
^
âncora para combinar com o início do texto. - Use a
$
âncora para combinar com o final do texto. - Use o
m
sinalizador para ativar o modo multilinha que instrui as âncoras^
e$
a corresponderem ao início e ao fim do texto, bem como ao início e ao fim da linha.