RegularExpressionsPlayaround.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:3k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Text.RegularExpressions;
  3. namespace Wrox.ProCSharp.RegularExpressionPlayaround
  4. {
  5.    class MainEntryPoint
  6.    {
  7.       static void Main()
  8.       {
  9.          Find1();
  10.          Console.ReadLine();
  11.       }
  12.       static void Find1()
  13.       {
  14.          string text = @"XML has made a major impact in almost every aspect of 
  15.             software development. Designed as an open, extensible, self-describing 
  16.             language, it has become the standard for data and document delivery on 
  17.             the web. The panoply of XML-related technologies continues to develop 
  18.             at breakneck speed, to enable validation, navigation, transformation, 
  19.             linking, querying, description, and messaging of data.";
  20.          string pattern = @"bnS*ionb";
  21.          MatchCollection matches = Regex.Matches(text, pattern, 
  22.             RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace |
  23.             RegexOptions.ExplicitCapture);
  24.          WriteMatches(text, matches);
  25.       }
  26.       static void Find2()
  27.       {
  28.          string text = @"XML has made a major impact in almost every aspect of 
  29.             software development. Designed as an open, extensible, self-describing 
  30.             language, it has become the standard for data and document delivery on 
  31.             the web. The panoply of XML-related technologies continues to develop 
  32.             at breakneck speed, to enable validation, navigation, transformation, 
  33.             linking, querying, description, and messaging of data.";
  34.          string pattern = @"bn";
  35.          MatchCollection matches = Regex.Matches(text, pattern, 
  36.            RegexOptions.IgnoreCase);
  37.          WriteMatches(text, matches);
  38.       }
  39.       static void WriteMatches(string text, MatchCollection matches)
  40.       {
  41.          Console.WriteLine("Original text was: nn" + text + "n");
  42.          Console.WriteLine("No. of matches: " + matches.Count);
  43.          foreach (Match nextMatch in matches)
  44.          {
  45.             int Index = nextMatch.Index;
  46.             string result = nextMatch.ToString();
  47.             int charsBefore = (Index < 5) ? Index : 5;
  48.             int fromEnd = text.Length - Index - result.Length;
  49.             int charsAfter = (fromEnd < 5) ? fromEnd : 5;
  50.             int charsToDisplay = charsBefore + charsAfter + result.Length;
  51.             Console.WriteLine("Index: {0}, tString: {1}, t{2}",
  52.                Index, result, 
  53.                text.Substring(Index - charsBefore, charsToDisplay));
  54.          }
  55.       }
  56.    }
  57. }