Resumo : neste tutorial, você aprenderá sobre os limites das palavras em expressões regulares para corresponder a uma posição entre um caractere de palavra e um caractere que não seja de palavra.
Introdução ao limite de palavras Regex
Um limite de palavra define uma posição que denota o limite entre um caractere de palavra e um caractere que não é de palavra.
O seguinte define três posições em uma string que são limites de palavras:
- No início da string, se o primeiro caractere for um caractere de palavra. (critério nº 1)
- No final da string, se o último caractere for um caractere de palavra. (critério #2)
- Entre um caractere de palavra e um caractere não-palavra. (critério nº 3)
Por exemplo, as posições dos limites da palavra na string “C# 11” são as seguintes:
- Antes da letra “C” (critério nº 1).
- Após o símbolo “#” (critério nº 3).
- Após o caractere de espaço entre “C#” e “11”. (critério nº 3)
- Após o último caractere “1” (critério nº 2).
Expressões regulares usam \b
metacaracteres para denotar o limite de uma palavra. O \b
metacaractere corresponde a um limite de palavra em uma string e não corresponde a nenhum caractere real.
Por exemplo, o padrão a seguir usa o \b
limite da palavra para corresponder à palavra inteira em uma string:
\bword\b
Linguagem de código: C# ( cs )
O exemplo a seguir localiza as correspondências que contêm a palavra sea
:
using System.Text.RegularExpressions;
using static System.Console;
var text = "She loves the sea and seaside";
var pattern = "sea";
var matches = Regex.Matches(text, pattern);
foreach (var match in matches)
{
WriteLine(match);
}
Linguagem de código: C# ( cs )
Ele retorna sea
e seaside
.
Para corresponder a palavra inteira sea
, você pode usar o limite da palavra \b
assim:
using System.Text.RegularExpressions;
using static System.Console;
var text = "She loves the sea and seaside";
var pattern = @"\bsea\b";
var matches = Regex.Matches(text, pattern);
foreach (var match in matches)
{
WriteLine(match);
}
Linguagem de código: C# ( cs )
Saída:
sea
Linguagem de código: C# ( cs )
Agora, ele retorna uma correspondência em vez de duas.
Resumo
- Use
\b
metacaractere para corresponder a um limite de palavra em uma string. - Use
\bword\b
para combinar a palavra inteira.