Referência regular expressions com C#


Índice

Abaixo algumas regular expressions úteis e o código para utilização em C#

Remover todos os caracteres HTML de uma string

Regex:

<[^>]*>

Código C#:

string ret = System.Text.RegularExpressions.Regex.Replace(html, @”<[^>]*>”, String.Empty);

Obter caracteres numéricos de uma string

Regex:

[^0-9]+?

Código c#:

string ret = System.Text.RegularExpressions.Regex.Replace(text, @”[^0-9]+?”, string.Empty);

Substituir caracteres especiais de uma string

Código C#:

string ret = System.Text.RegularExpressions.Regex.Replace(ret, @”[^0-9a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄçÇ]+?”, string.Empty);

Para permitir espaços adicione: \s:

string ret = System.Text.RegularExpressions.Regex.Replace(ret, @”[^0-9a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄçÇ\s]+?”, string.Empty);

Veja um exemplo em C# no seguinte artigo: /csharp/remover-caracteres-especiais-e-acentuacao-com-regular-expression-e-csharp/

Listar todos os caracteres de uma string entre chaves “{xxx}”

Código C#:

System.Text.RegularExpressions.Regex.Matches(“aaa{111}ccc{222}”, @”{(\w)*}”)

Considerações:

Exemplo:

Próxima palavra depois de uma palavra e um espaço

Código C#:

var match = Regex.Match(line, @”\scelular\s(.*)\s”); if (match.Success) var proximaPalavra = match.Groups[1].Value;

Exemplo:

Pesquisar se uma palavra está no texto:

Código C#:

if (Regex.IsMatch(“abacaxi manga morango”, “manga”)) { //Está no texto }

Verificar se uma string contém duas palavras, utilizando case insensitive

A RegularExpression abaixo verifica se a string contém as palavras “cpf” e “duplicado”:

var regex = System.Text.RegularExpressions.Regex(@"^(?i)(?=.*\bcpf\b)(?=.*\bduplicado\b).*$");
regex.IsMatch("Teste CPF dkdkdkdk duplicado no sistema");

Referências:


Comentários