C#:
Usando expressões regulares
Como fazer:
Correspondência de Padrões Simples
Para verificar se uma string contém um padrão específico, você pode usar o método Regex.IsMatch
do namespace System.Text.RegularExpressions
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Hello, World!";
string pattern = "World";
bool containsPattern = Regex.IsMatch(sampleText, pattern);
Console.WriteLine(containsPattern); // Saída: True
}
}
Extração de Dados
Extrair dados de uma string usando grupos em um regex pode ser feito com o método Regex.Match
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Date: 2023-04-12";
string pattern = @"Date: (\d{4})-(\d{2})-(\d{2})";
Match match = Regex.Match(sampleText, pattern);
if (match.Success)
{
Console.WriteLine($"Ano: {match.Groups[1].Value}"); // Saída: Ano: 2023
Console.WriteLine($"Mês: {match.Groups[2].Value}"); // Saída: Mês: 04
Console.WriteLine($"Dia: {match.Groups[3].Value}"); // Saída: Dia: 12
}
}
}
Substituindo Texto
O método Regex.Replace
permite substituir texto em uma string que corresponde a um padrão especificado.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "Visit Microsoft!";
string pattern = "Microsoft";
string replacement = "Google";
string result = Regex.Replace(sampleText, pattern, replacement);
Console.WriteLine(result); // Saída: Visit Google!
}
}
Dividindo Strings
Você pode dividir uma string em um array baseado em um padrão regex usando o método Regex.Split
.
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string sampleText = "one,two,three,four,five";
string pattern = ",";
string[] result = Regex.Split(sampleText, pattern);
foreach (string item in result)
{
Console.WriteLine(item);
}
// Saída:
// one
// two
// three
// four
// five
}
}
Usando Bibliotecas de Terceiros
Enquanto o Framework .NET fornece suporte extensivo para expressões regulares, também existem bibliotecas de terceiros, como PCRE.NET
, que oferecem expressões regulares compatíveis com Perl (PCRE) em C#. Isso pode ser útil se você precisar de recursos ou sintaxe do motor de regex do Perl que não estão disponíveis na implementação do .NET.
Para usar PCRE.NET
, você primeiro instalaria seu pacote NuGet e, então, poderia usá-lo de maneira semelhante a como usa as classes regex nativas do .NET.
// Exemplo usando PCRE.NET aqui
// Nota: Imagine um exemplo semelhante aos acima, adaptado para mostrar um recurso único do PCRE.NET.
Ao integrar bibliotecas de terceiros para expressões regulares, sempre consulte a documentação delas para informações detalhadas de uso e compatibilidade.