C# regex com exemplos

C# regex com exemplos
Expressões regulares são uma das melhores ferramentas usadas para corresponder, pesquisar e substituir o texto com base em padrões específicos. C# oferece suporte para expressões regulares através do Sistema.Texto.Expressões regulares namespace, que fornece um conjunto abrangente de classes e métodos para usar o regex no código. Este artigo explicará C# REGEX e fornecerá exemplos de como usá -lo de maneira eficaz, portanto, se você estiver procurando uma maneira fácil de aprender usando -os, leia este guia.

Regex em C#

Uma expressão regular é um padrão usado para corresponder, pesquisar e manipular texto; Ele pode ser usado para uma variedade de tarefas, incluindo a validação de entrada, a busca de padrões específicos em uma string e substituindo o texto com base em padrões específicos.

Exemplos C# Regex

Nas expressões regulares C# são implementadas através da classe Regex, que fornece métodos para criar, corresponder e manipular expressões regulares. A classe Regex faz parte do espaço para nome, que está incluído no .Net Framework, aqui estão quatro exemplos discutidos neste guia:

  • Combinando um padrão simples
  • Extraindo substâncias de uma corda
  • Substituindo substrings em uma string
  • Dividindo uma corda
  • Validando uma entrada

Exemplo 1: Combinando um padrão simples - c# regex

Neste exemplo, usaremos Regex para combinar com um padrão simples em uma string. Criaremos um objeto regex que corresponda ao padrão "gato" e o usará para procurar o padrão em uma string.

usando o sistema;
usando o sistema.Texto.Expressões regulares;
programa de classe

estático void main ()

String input = "Hello and Welcome to linuxhint";
Regex regex = new regex ("Welcome");
Match Match = Regex.Correspondência (entrada);
if (corresponde.Sucesso)

Console.WriteLine ("Match encontrado:" + correspondência.Valor);

outro

Console.WriteLine ("Nenhum jogo encontrado.");


Neste código, criamos um objeto regex que corresponde ao padrão "Welcome" e o usamos para procurar o padrão na string "Hello and Welcome to linuxhint.”O método de correspondência retorna um objeto de correspondência que contém informações sobre a correspondência, incluindo a posição da partida e o valor da correspondência. Se uma correspondência for encontrada, imprimimos o valor da correspondência com o console e, se nenhuma correspondência for encontrada, imprimimos uma mensagem indicando que nenhuma correspondência foi encontrada, aqui está a saída do código:

Exemplo 2: Extraindo substâncias de uma string - c# regex

Neste exemplo, usaremos Regex para extrair substringas de uma string. Criaremos um objeto Regex que corresponda ao padrão para um número de telefone válido e o usará para extrair o código da área de uma string de número de telefone.

usando o sistema;
usando o sistema.Texto.Expressões regulares;
programa de classe

estático void main ()

String input = "Número de telefone: (361) 785-9370";
Regex regex = novo regex (@"\ ((\ d 3) \) (\ d 3)-(\ d 4)");
Match Match = Regex.Correspondência (entrada);
if (corresponde.Sucesso)

Console.WriteLine ("Número de telefone:" + correspondência.Valor);
Console.WriteLine ("Código da área:" + correspondência.Grupos [1].Valor);
Console.WriteLine ("Digits:" + Match.Grupos [2].Valor);

outro

Console.WriteLine ("Nenhum jogo encontrado.");


Neste código, criamos um objeto Regex que corresponde ao padrão para o código de área de um número de telefone, que é fechado entre parênteses. Usamos a propriedade Grupos do objeto Match para acessar o grupo capturado, que contém o código de área.

A expressão regular @”\ ((\ D 3) \) (\ d 3)-(\ d 4)” Corresponde ao padrão de número de telefone inteiro, que consiste em um código de área incluído entre parênteses, um espaço e três dígitos, seguido por um hífen e mais quatro dígitos. O primeiro grupo de captura (\ d 3) corresponde ao código da área, o segundo grupo de captura (\ d 3) corresponde aos três dígitos após o espaço e o terceiro grupo de captura (\ d 4) corresponde aos quatro dígitos após o hífen. Se nenhuma correspondência for encontrada, imprimimos uma mensagem indicando que nenhuma correspondência foi encontrada, aqui está a saída do código:

Exemplo 3: Substituindo substringas em uma string - C# regex

Neste exemplo, usaremos Regex para substituir substringas em uma string. Criaremos um objeto Regex que corresponda ao padrão para uma palavra e o usará para substituir todas as ocorrências da palavra "cachorro" pela palavra "gato" em uma determinada string.

usando o sistema;
usando o sistema.Texto.Expressões regulares;
programa de classe

estático void main ()

String input = "Hello and Welcome to linuxhint.";
Regex regex = novo regex ("hello");
String Output = Regex.Substituir (entrada, "saudações");
Console.WriteLine (saída);

Este código demonstra como usar o substituto () para substituir a primeira ocorrência de uma correspondência de expressão regular em uma string com um novo valor. Neste código, criamos um objeto regex que corresponde ao padrão "Olá". Utilizamos o método de substituição para substituir todas as ocorrências do padrão pela string "Saudações" e a sequência resultante é impressa no console e aqui está a saída do código:

Exemplo 4: dividindo uma corda - C# regex

Neste exemplo, usaremos Regex para dividir uma string em substringas. Criaremos um objeto regex que corresponda ao padrão para o espaço em branco e o usará para dividir uma determinada string em uma matriz de substringas.

usando o sistema;
usando o sistema.Texto.Expressões regulares;
programa de classe

estático void main ()

String input = "Hello and Welcome to linuxhint.";
Regex regex = newRegex (@"\ s+");
String [] substrings = regex.Divisão (entrada);
foreach (String Substring em substringas)

Console.WriteLine (substring);


Neste código, criamos um objeto regex que corresponde ao padrão para caracteres de espaço em branco, como espaços e guias. Usamos o método Split para dividir a sequência de entrada em matrizes de substringas, usando o padrão de espaço em branco como delimitador. As substâncias resultantes são impressas no console usando um loop foreach e aqui está a saída do código:

Este código demonstra como usar o split () para dividir uma string em uma matriz de substringas com base em uma correspondência de expressão regular. Nesse caso, a expressão regular corresponde a um ou mais caracteres de espaço em branco (\ s+), portanto a sequência de entrada é dividida em três substringas: "Hello", "e" e "Welcome to Linuxhint".

Exemplo 5: Usando uma expressão regular para validar a entrada - c# regex

Neste exemplo, usaremos o regex para validar a entrada do usuário. Criaremos um objeto Regex que corresponda ao padrão para um endereço de email válido e o usará para validar a entrada fornecida pelo usuário.

usando o sistema;
usando o sistema.Texto.Expressões regulares;
programa de classe

estático void main ()

Console.Escreva ("Digite seu endereço de e -mail:");
string input = console.Leia a linha();
Regex regex = novo regex (@"^[\ w- \.]+@([\ w-]+\.)+[\ w-] 2,4 $ ");
if (regex.Ismatch (entrada))

Console.WriteLine ("endereço de e -mail válido.");

outro

Console.WriteLine ("Endereço de e -mail inválido.");


Neste código, criamos um objeto Regex que corresponde ao padrão para um endereço de e -mail válido. O padrão é uma expressão regular complexa que corresponde ao formato de um endereço de e -mail típico. Usamos o método ISMATCH para testar se a entrada fornecida pelo usuário corresponde ao padrão e se a entrada corresponde ao padrão, imprimimos uma mensagem indicando que o endereço de email é válido, se a entrada não corresponder ao padrão, imprimimos uma mensagem indicando que o endereço de e -mail é inválido.

Algumas expressões de regex comuns

A tabela de expressões regex fornece uma lista de padrões de expressão regular comuns usados ​​para manipulação de texto em C#. A coluna "Expression" contém a sintaxe real usada para correspondência de texto, enquanto a coluna "Descrição" fornece uma breve explicação da função do padrão:

Expressão Descrição
“X, y” Correspondências entre as ocorrências x e y do caráter ou grupo anterior
"+" Corresponde a um ou mais do personagem ou grupo anterior
"^" Corresponde ao início de uma corda
"[]" Corresponde a qualquer personagem dentro dos colchetes
“N” Combina exatamente n ocorrências do caráter ou grupo anterior
"[^]" Corresponde a qualquer personagem que não esteja dentro dos colchetes
““.” Corresponde a qualquer caractere, exceto uma nova linha
"$" Corresponde ao fim de uma corda
"S" Corresponde a qualquer caractere de espaço em branco (espaço, guia, newline, etc.)
"\ S" Corresponde a qualquer personagem não-branco
"c" Corresponde a qualquer personagem de palavra (letra, dígito ou sublinhamento)
"\ D" Corresponde a qualquer dígito (0-9)
"()" Grupos uma série de personagens juntos
"C" Corresponde a qualquer personagem não-palavras
Corresponde a um ou mais do personagem ou grupo anterior
"\ D" Corresponde a qualquer personagem que não seja um dígito

Conclusão

Em conclusão, expressões regulares são uma maneira poderosa de trabalhar com dados de texto em C#. Esses 5 exemplos demonstram a versatilidade do regex, da correspondência simples de padrões a operações mais avançadas, como validação e manipulação de string. Ao dominar Regex, você pode aprimorar muito sua capacidade de trabalhar com dados de texto em C#.