Alternação Regex – 01

Resumo : neste tutorial, você aprenderá como usar a alternância de regex para corresponder a um padrão ou outro.

Introdução à alternância regex

A alternância Regex é como o operador OR em expressões regulares, que permite combinar um padrão ou outro. A alternância Regex é denotada por um operador de alteração ( |):

pattern1 | pattern2 | pattern3Linguagem de código:  C#  ( cs )

Também é conhecido como regex OR ou escolha de regex.

Ao combinar um padrão com uma alteração, o mecanismo regex tentará combinar cada padrão sequencialmente da esquerda para a direita. Se um padrão regex encontrar uma correspondência, ele interromperá a correspondência imediatamente e retornará o resultado.

As alternâncias Regex são úteis quando você deseja especificar várias opções para um padrão corresponder.

Exemplos de alternância Regex

Vamos explorar alguns exemplos de uso da alternância regex.

1) Usando alternância de regex para corresponder a uma palavra específica

O exemplo a seguir usa a alteração de regex para corresponder a apple, bananaou orangeword em um texto:

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


var text = "apple, banana, orange";
var pattern = @"apple|banana|orange";
var matches = Regex.Matches(text, pattern);

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

Ele retorna três correspondências:

apple
banana
orangeLinguagem de código:  C#  ( cs )

2) Usando alternância de regex para corresponder a uma string de tempo no formato hh:mm

O exemplo a seguir usa uma alternância de regex para corresponder à string de hora no formato hh:mmde uma string:

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


var text = "08:20 50:91 21:45 26:99";
var pattern = @"([01][0-9]|2[0-3]):[0-5][0-9]";

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

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

Ele retorna duas correspondências correspondentes ao formato de hora válido hh:mm:

08
21:45Linguagem de código:  C#  ( cs )

O padrão de expressão regular [01]\d|2[0-3]:[0-5]\dcorresponde a um número de dois dígitos começando com 0ou 1ou a uma hora no formato hh: mmentre 20:00e 23:59.

Vamos entender a expressão regular ([01][0-9]|2[0-3]):[0-5][0-9]passo a passo:

  • ([01][0-9]|2[0-3])corresponde à parte da hora do formato da hora. Contém duas alternativas separadas pelo operador de alternância ( |). A primeira alternativa [01][0-9]corresponde às horas de 00até 19, representando as horas de 00até 19. A segunda alternativa 2[0-3]corresponde às horas de 20até 23.
  • :corresponde ao caractere de dois pontos, que separa as partes de hora e minuto do formato de hora.
  • [0-5][0-9]corresponde à porção de minutos de 00até 59.

Resumo

  • Use alternância de regex ( |) para corresponder a um padrão ou outro dentro da mesma expressão regular.

Deixe um comentário

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