Expressão Regular: Âncoras

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:

trueLinguagem de código:  JavaScript  ( javascript )

Corresponde /^J/a qualquer texto que comece com a letra J. Ele retorna true.

O exemplo a seguir retorna falseporque a string JavaScriptnã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 trueporque a string JavaScripttermina 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:mmcomo 12:05:

let isValid = /^\d\d:\d\d$/.test('12:05');
console.log(isValid);Linguagem de código:  JavaScript  ( javascript )

Saída:

trueLinguagem 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:

falseLinguagem 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 mflag. 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 msinalizador 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *