Limite de palavras Regex – 01

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:

  1. No início da string, se o primeiro caractere for um caractere de palavra. (critério nº 1)
  2. No final da string, se o último caractere for um caractere de palavra. (critério #2)
  3. 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 \bmetacaracteres para denotar o limite de uma palavra. O \bmetacaractere 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 \blimite da palavra para corresponder à palavra inteira em uma string:

\bword\bLinguagem 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 seae seaside.

Para corresponder a palavra inteira sea, você pode usar o limite da palavra \bassim:

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:

seaLinguagem de código:  C#  ( cs )

Agora, ele retorna uma correspondência em vez de duas.

Resumo

  • Use \bmetacaractere para corresponder a um limite de palavra em uma string.
  • Use \bword\bpara combinar a palavra inteira.

Deixe um comentário

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