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 Langage des expressions régulières - Aide-mémoire.
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
Référence
System.Text.RegularExpressions.Regex
Concepts
Langage des expressions régulières - Aide-mémoire