Материал из .Net Framework эксперт
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Regular expressions: Match
/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy
Publisher: Sybex;
ISBN: 0782129110
*/
/*
ExampleC_1.cs illustrates the use of regular expressions
*/
using System;
using System.Text.RegularExpressions;
public class ExampleC_1 {
private static void DisplayMatches(string text,
string regularExpressionString ) {
Console.WriteLine("using the following regular expression: " +
regularExpressionString);
// create a MatchCollection object to store the words that
// match the regular expression
MatchCollection myMatchCollection =
Regex.Matches(text, regularExpressionString);
// use a foreach loop to iterate over the Match objects in
// the MatchCollection object
foreach (Match myMatch in myMatchCollection)
{
Console.WriteLine(myMatch);
}
}
public static void Main()
{
string text =
"But, soft! what light through yonder window breaks?\n" +
"It is the east, and Juliet is the sun.\n" +
"Arise, fair sun, and kill the envious moon,\n" +
"Who is already sick and pale with grief,\n" +
"That thou her maid art far more fair than she";
// match words that start with "s"
Console.WriteLine("Matching words that start with "s"");
DisplayMatches(text, @"\bs\S*");
// match words that start with "s" and end with "e"
Console.WriteLine("Matching words that start with "s" and end with "e"");
DisplayMatches(text, @"\bs\S*e\b");
// match words that contain two consecutive identical characters
Console.WriteLine("Matching words that that contain two consecutive identical characters");
DisplayMatches(text, @"\S*(.)\1\S*");
// match words that contain "u"
Console.WriteLine("Matching words that contain "u"");
DisplayMatches(text, @"\S*u+\S*");
// match words that contain the pattern "ai"
Console.WriteLine("Matching words that contain the pattern "ai"");
DisplayMatches(text, @"\S*(ai)\S*");
// match words that contain the pattern "ai" or "ie"
Console.WriteLine("Matching words that contain the pattern "ai" or "ie"");
DisplayMatches(text, @"\S*(ai|ie)\S*");
// match words that contain "k" or "f"
Console.WriteLine("Matching words that contain "k" or "f"");
DisplayMatches(text, @"\S*[kf]\S*");
// match words that contain any letters in the range "b" through "d"
Console.WriteLine("Matching words that contain any letters in the range "b" through "d"");
DisplayMatches(text, @"\S*[b-d]\S*");
}
}