Como: Pesquisar strings utilizando expressões regulares (guia de programação translation from VPE for Csharp)

The System.Text.RegularExpressions.Regex classe pode ser usado 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 realiza uma Pesquisar não diferencia maiúsculas de minúsculas simples das seqüências de caracteres em uma matriz.O método estático Regex.IsMatch realiza a Pesquisar devida a seqüência de caracteres a ser pesquisada e uma seqüência de caracteres que contém o padrão de Pesquisar. 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 = 
        {
            "cow over the moon",
            "Betsy the Cow",
            "cowering in the corner",
            "no match here"
        };

        string sPattern = "cow";

        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:
           cow over the moon  (match for 'cow' found)
           Betsy the Cow  (match for 'cow' found)
           cowering in the corner  (match for 'cow' 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 seqüência de caracteres tomam 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 agrupar contém quatro dígitos.Isso é concluído usando 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-456-7890", 
            "444-234-22450", 
            "690-203-6578", 
            "146-893-232",
            "146-839-2322",
            "4007-295-1111", 
            "407-295-1111", 
            "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-456-7890 - valid
     444-234-22450 - invalid
      690-203-6578 - valid
       146-893-232 - invalid
      146-839-2322 - valid
     4007-295-1111 - invalid
      407-295-1111 - valid
        407-2-5555 - invalid
*/

Consulte também

Conceitos

Guia de Programação C#

Referência

Sequências (guia de programação C#)