Share via


Comment : rechercher des chaînes à l'aide d'expressions régulières (Guide de programmation C#)

La classe System.Text.RegularExpressions.Regex peut être utilisée pour rechercher des chaînes. Ces recherches peuvent avoir un niveau de complexité allant de très simple à une utilisation complète d'expressions régulières. Les éléments suivants sont deux exemples de recherche de chaînes à l'aide de la classe Regex. Pour plus d'informations, consultez Expressions régulières du .NET Framework.

Exemple

Le code suivant est une application console qui exécute une recherche simple de chaînes dans un tableau, sans respect de la casse. La méthode statique Regex.IsMatch exécute la recherche en fonction de la chaîne à rechercher et une chaîne qui contient le modèle de recherche. Dans ce cas, un troisième argument est utilisé pour indiquer que la casse doit être ignorée. Pour plus d'informations, consultez 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
*/

Le code suivant est une application console qui utilise des expressions régulières pour valider le format de chaque chaîne dans un tableau. La validation requiert que chaque chaîne prenne la forme d'un numéro de téléphone dans lequel trois groupes de chiffres sont séparés par des tirets, les deux premiers groupes contenant trois chiffres, et le troisième groupe avec quatre chiffres. Cette opération s'effectue à l'aide de l'expression régulière ^\\d{3}-\\d{3}-\\d{4}$. Pour plus d'informations, consultez Éléments du langage des expressions régulières.

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

Voir aussi

Concepts

Guide de programmation C#

Chaînes (Guide de programmation C#)