Compartilhar via


Como: pesquisar em seqüências de caracteres utilizando expressões regulares (guia de programação do C#)

A classe de System.Text.RegularExpressions.Regex pode ser usada para cadeias de caracteres de pesquisa.Essas pesquisas podem variar em complexidade de muito simples para fazer uso completo de expressões regulares.Os seguintes são dois exemplos de cadeia de caracteres que eles pesquisam usando a classe de Regex .Para obter mais informações, consulte .Expressões regulares.

Exemplo

O código a seguir é um aplicativo de console que executa uma pesquisa sem diferenciação de maiúsculas e minúsculas simples de cadeias de caracteres em uma matriz.O Regex.IsMatch estática do método executa a pesquisa dada a cadeia de caracteres para a pesquisa e uma cadeia de caracteres que contém o padrão de pesquisa.Nesse caso, um terceiro argumento é usado para indicar que os casos devem ser ignorados.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 cadeia de caracteres em uma matriz.A validação requer que cada cadeia de caracteres assume a forma de um número de telefone em que três grupos de dígitos são separados por traços, os primeiros dois grupos contém três dígitos, e o terceiro grupo contém quatro dígitos.Isso é feito usando a expressão regular ^\\d{3}-\\d{3}-\\d{4}$.Para obter mais informações, consulte Linguagem de expressão regular - referência rápida.

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
*/

Consulte também

Referência

System.Text.RegularExpressions.Regex

Conceitos

Guia de programação do C#

Linguagem de expressão regular - referência rápida

Outros recursos

Seqüências de caracteres (guia de programação do C#)

.Expressões regulares