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:
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;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;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;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;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;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#.