Jak: wyszukiwanie ciągi przy użyciu wyrażeń regularnych (Podręcznik programowania C#)
System.Text.RegularExpressions.Regex Klasy może służyć do wyszukiwania ciągów.Te wyszukiwania może wahać się rozwiązania od bardzo prostego pełne wykorzystanie wyrażeń regularnych.Oto dwa przykłady ciąg wyszukiwania za pomocą Regex klasy.Aby uzyskać więcej informacji, zobacz .NET Framework w wyrażeniach regularnych.
Przykład
Poniższy kod jest console application, który wykonuje proste wyszukiwanie bez uwzględniania wielkości liter z ciągów znaków w tablicy.Statyczna metoda Regex.IsMatch wykonuje wyszukiwania, biorąc pod uwagę ciąg do wyszukania i ciąg, który zawiera wzorzec wyszukiwania.W takim przypadku trzeci argument jest używany do wskazania, że przypadku powinny być ignorowane.Aby uzyskać więcej informacji, zobacz 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
*/
Poniższy kod jest aplikacją konsoli, która używa wyrażenia regularne do sprawdzania poprawności format każdego ciągu w tablicy.Sprawdzanie poprawności wymaga, że każdy ciąg formę numeru telefonu, w którym trzech grup cyfr są oddzielonych kreskami, pierwsze dwie grupy zawierają trzy cyfry, a trzecia grupa składa się z czterech cyfr.Jest to zrobić za pomocą wyrażenia regularnego ^\\d{3}-\\d{3}-\\d{4}$.Aby uzyskać więcej informacji, zobacz Język wyrażeń regularnych - podręczny wykaz.
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
*/
Zobacz też
Informacje
System.Text.RegularExpressions.Regex
Koncepcje
Język wyrażeń regularnych - podręczny wykaz