How to: Procurar Seqüências de caracteres usando expressões regulares (guia de programação de C#)
O System.Text.RegularExpressions.Regex classe pode ser usada para pesquisar seqüências de caracteres. Essas pesquisas podem variar em complexidade de muito simples a fazer uso total de expressões regulares. A seguir estão dois exemplos de seqüência de caracteres de pesquisa usando o Regex classe. Para obter mais informações, consulte Expressões Regulares do .NET Framework.
Exemplo
O código a seguir é um aplicativo de console que executa uma pesquisa simples de maiúsculas e minúsculas das seqüências de caracteres em uma matriz. O método estático Regex.IsMatch executa a pesquisa, dada a seqüência de pesquisa e uma seqüência de caracteres que contém o padrão de pesquisa. Nesse caso, um terceiro argumento é usado para indicar que o caso deve ser ignorado. Para obter mais informações, consulte System.Text.RegularExpressions.RegexOptions.
class TestRegularExpressions
{
static void Main()
{
string[] sentences =
{
"C# code",
"Chapter 2: Writing Code",
"Unicode",
"no match here"
};
string sPattern = "code";
foreach (string s in sentences)
{
System.Console.Write("{0,24}", s);
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
System.Console.WriteLine(" (match for '{0}' found)", sPattern);
}
else
{
System.Console.WriteLine();
}
}
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
/* Output:
C# code (match for 'code' found)
Chapter 2: Writing Code (match for 'code' found)
Unicode (match for 'code' found)
no match here
*/
O código a seguir é um aplicativo de console que usa expressões regulares para validar o formato de cada seqüência de caracteres em uma matriz. A validação requer que cada seqüência assumir a forma de um número de telefone no qual os três grupos de dígitos são separados por traços, os dois primeiros grupos contêm três dígitos e o terceiro grupo contém quatro dígitos. Isso é feito usando-se a expressão regular ^\\d{3}-\\d{3}-\\d{4}$. Para obter mais informações, consulte Elementos de linguagem das expressões regulares.
class TestRegularExpressionValidation
{
static void Main()
{
string[] numbers =
{
"123-555-0190",
"444-234-22450",
"690-555-0178",
"146-893-232",
"146-555-0122",
"4007-555-0111",
"407-555-0111",
"407-2-5555",
};
string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";
foreach (string s in numbers)
{
System.Console.Write("{0,14}", s);
if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern))
{
System.Console.WriteLine(" - valid");
}
else
{
System.Console.WriteLine(" - invalid");
}
}
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
/* Output:
123-555-0190 - valid
444-234-22450 - invalid
690-555-0178 - valid
146-893-232 - invalid
146-555-0122 - valid
4007-555-0111 - invalid
407-555-0111 - valid
407-2-5555 - invalid
*/