Conjuntos e intervalos Regex – 01

Resumo : neste tutorial, você aprenderá sobre conjuntos e intervalos de regex para criar padrões que correspondam a caracteres em um conjunto de caracteres.

Conjuntos

Ao colocar alguns caracteres entre colchetes [], você cria um conjunto. Por exemplo, o [aeiou]conjunto corresponde a qualquer caractere de vogal minúscula.

Normalmente, um conjunto pode ser usado com caracteres regulares. Além disso, um conjunto pode conter vários caracteres, cada caractere dentro de um conjunto corresponde a apenas um caractere na partida.

Por exemplo, licen[cs]eo padrão corresponde a ambos licencee licenseconforme mostrado no exemplo a seguir:

using System.Text.RegularExpressions;
using static System.Console;

var text = "A licence or license";
var pattern = @"licen[cs]e";

var matches = Regex.Matches(text, pattern);

foreach (var match in matches)
{
    WriteLine(match);
}Linguagem de código:  C#  ( cs )

Saída:

licence
licenseLinguagem de código:  C#  ( cs )

Gamas

Quando um conjunto tem muitos caracteres, por exemplo, de a a z, você não deseja listá-los todos entre colchetes. Em vez disso, você usa um intervalo de caracteres ( -) como este:

[a-z]Linguagem de código:  C#  ( cs )

O [a-z]1 é chamado de intervalo que corresponde a qualquer caractere de aaté z. Da mesma forma, você pode definir um intervalo de números de 0 a 9 da seguinte forma:

[0-9]Linguagem de código:  C#  ( cs )

Para definir vários intervalos, você pode colocá-los um ao lado do outro entre colchetes. Por exemplo:

[a-z0-9]Linguagem de código:  C#  ( cs )

O intervalo [a-z0-9]corresponde a qualquer caractere de ato ze 0to 9.

O exemplo a seguir usa os intervalos de regex para definir um padrão que corresponda à sequência de tempo no formato hh:mm:

using System.Text.RegularExpressions;
using static System.Console;


var text = "12:30 15:60";
var pattern = @"\b[0-2][0-9]:[0-5][0-9]\b";

var matches = Regex.Matches(text, pattern);

foreach (var match in matches)
{
    WriteLine(match);
}Linguagem de código:  C#  ( cs )

Saída:

12:30Linguagem de código:  C#  ( cs )

O padrão

Esse padrão \b[0-2][0-9]:[0-5][0-9]\bcorresponde ao formato da hora hh:mm, onde a hora pode estar no intervalo de 00 a 23 e o minuto pode estar no intervalo de 00 a 59.

Excluindo conjuntos e intervalos

Expressões regulares usam o caractere circunflexo ^para negar um conjunto ou intervalo. Por exemplo, o intervalo [^0-9]corresponde a qualquer caractere, exceto um dígito, que é equivalente à \D classe de caracteres .

É importante notar que quando você usa ^dentro de colchetes, ele nega um conjunto ou intervalo. Mas se você usar fora de um colchete, é um caractere âncora que corresponde ao início da string.

Resumo

  • Use colchetes []para definir um conjunto ou intervalo.
  • Use o sinal de intercalação ^dentro do colchete []para negar um conjunto ou intervalo [^...].

Deixe um comentário

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