Expressão regular: limites de palavras

Resumo : neste tutorial, você aprenderá como usar o limite de palavras em expressões regulares.

O (\b) é uma âncora como o ^sinal de intercalação ( ) e o cifrão ( $). Corresponde a uma posição chamada “limite de palavra”. A correspondência do limite da palavra tem comprimento zero.

As três posições a seguir são qualificadas como limites de palavras:

  • Antes do primeiro caractere em uma string, se o primeiro caractere for um caractere de palavra.
  • Após o último caractere de uma string, se o último caractere for um caractere de palavra.
  • Entre dois caracteres em uma string, se um for um caractere de palavra e o outro não.

Simplificando, o limite da palavra \bpermite que você corresponda a palavra inteira usando uma expressão regular no seguinte formato:

\bword\bLinguagem de código:  JavaScript  ( javascript )

Por exemplo, na string, Hello, JS!as seguintes posições se qualificam como limite de palavra:

O exemplo a seguir retorna 'JS'porque 'Hello, JS!'corresponde à expressão regular /\bJS\b/:

console.log('Hello, JS!'.match(/\bJS\b/)); // trueLinguagem de código:  JavaScript  ( javascript )

Saída:

["JS"]Linguagem de código:  JavaScript  ( javascript )

No entanto, o 'Hello, JScript'não corresponde /\bJS\b/:

console.log('Hello, JSscript!'.match(/\bJS\b/)); // nullLinguagem de código:  JavaScript  ( javascript )

Observe que sem \b, as /JS/correspondências 'Hello, JS'e 'Hello, JScript':

console.log('Hello, JSscript!'.match(/JS/)); // ["JS"]
console.log('Hello, JS!'.match(/JS/)); // ["JS"]Linguagem de código:  JavaScript  ( javascript )

É possível usar o limite do Word com dígitos.

Por exemplo, a expressão regular \b\d\d\d\d\bcorresponde a um número de 4 dígitos cercado por caracteres diferentes de \w:

console.log('ES 2015'.match(/\b\d\d\d\d\b/));
Linguagem de código:  JavaScript  ( javascript )

Saída:

["2015"]
Linguagem de código:  JavaScript  ( javascript )

O exemplo a seguir usa o limite da palavra para encontrar a hora que tem o formato, hh:mmpor exemplo 09:15,:

let str = 'I start coding JS at 05:30 AM';
let re = /\b\d\d:\d\d\b/;
let result = str.match(re);

console.log(result);Linguagem de código:  JavaScript  ( javascript )

Saída:

["05:30"]Linguagem de código:  JavaScript  ( javascript )

É importante observar que \bnão funciona para alfabetos não latinos.

Como você viu até agora, os padrões \d\d\d\de \d\dforam usados ​​para corresponder a um número de quatro ou dois dígitos.

Será mais fácil e flexível se você usar quantificadores que serão abordados no tutorial sobre quantificadores . Basicamente, você pode usar \d{4}em vez de \d\d\d\d, que é muito mais curto.

Resumo

  • A \bâncora corresponde a uma posição de limite de palavra.

Deixe um comentário

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