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 \b
permite que você corresponda a palavra inteira usando uma expressão regular no seguinte formato:
\bword\b
Linguagem 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/)); // true
Linguagem 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/)); // null
Linguagem 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\b
corresponde 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:mm
por 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 \b
não funciona para alfabetos não latinos.
Como você viu até agora, os padrões \d\d\d\d
e \d\d
foram 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.