Sdílet prostřednictvím


Postupy: Vyhledávání řetězců pomocí regulárních výrazů (Průvodce programováním v C#)

Regex Třída může být použita pro vyhledávání řetězců.Tyto hledání se může pohybovat složitosti od velmi jednoduchých plné využití regulárních výrazů.Následují dva příklady vyhledávání pomocí řetězce Regex třídy.Další informace naleznete v tématu .NET Framework – regulární výrazy.

Příklad

Následující kód je konzolová aplikace, která provádí jednoduché vyhledávání nerozlišující velikost písmen řetězců v matici.Statická metoda Regex.IsMatch provede vyhledávací řetězec pro vyhledávání a řetězec, který obsahuje vzorek pro vyhledávání.Třetí argument v tomto případě slouží k označení, že případ měly být ignorovány.Další informace naleznete v tématu 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
*/

Následující kód je konzolová aplikace, která používá regulární výrazy pro ověření formátu každý řetězec v poli.Ověřování vyžaduje, aby každý řetězec má formu telefonní číslo, ve kterém tří skupin číslic jsou odděleny pomlčkami, první dvě skupiny obsahují tři číslice a třetí skupina obsahuje čtyři číslice.To se provádí pomocí regulárního výrazu ^\\d{3}-\\d{3}-\\d{4}$.Další informace naleznete v tématu Jazyk regulárních výrazů – stručná referenční dokumentace.

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

Viz také

Referenční dokumentace

Regex

Koncepty

Průvodce programováním v C#

Jazyk regulárních výrazů – stručná referenční dokumentace

Další zdroje

Řetězce (Průvodce programováním v C#)

.NET Framework – regulární výrazy