Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // <Snippet9> | |
| using System; | |
| using System.Text.RegularExpressions; | |
| public class Example | |
| { | |
| public static void Main() | |
| { | |
| string input = "This is the first sentence. Is it the beginning " + | |
| "of a literary masterpiece? I think not. Instead, " + | |
| "it is a nonsensical paragraph."; | |
| string pattern = @"\b\(?((?>\w+),?\s?)+[\.!?]\)?"; | |
| Console.WriteLine("With implicit captures:"); | |
| foreach (Match match in Regex.Matches(input, pattern)) | |
| { | |
| Console.WriteLine("The match: {0}", match.Value); | |
| int groupCtr = 0; | |
| foreach (Group group in match.Groups) | |
| { | |
| Console.WriteLine(" Group {0}: {1}", groupCtr, group.Value); | |
| groupCtr++; | |
| int captureCtr = 0; | |
| foreach (Capture capture in group.Captures) | |
| { | |
| Console.WriteLine(" Capture {0}: {1}", captureCtr, capture.Value); | |
| captureCtr++; | |
| } | |
| } | |
| } | |
| Console.WriteLine(); | |
| Console.WriteLine("With explicit captures only:"); | |
| foreach (Match match in Regex.Matches(input, pattern, RegexOptions.ExplicitCapture)) | |
| { | |
| Console.WriteLine("The match: {0}", match.Value); | |
| int groupCtr = 0; | |
| foreach (Group group in match.Groups) | |
| { | |
| Console.WriteLine(" Group {0}: {1}", groupCtr, group.Value); | |
| groupCtr++; | |
| int captureCtr = 0; | |
| foreach (Capture capture in group.Captures) | |
| { | |
| Console.WriteLine(" Capture {0}: {1}", captureCtr, capture.Value); | |
| captureCtr++; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| // The example displays the following output: | |
| // With implicit captures: | |
| // The match: This is the first sentence. | |
| // Group 0: This is the first sentence. | |
| // Capture 0: This is the first sentence. | |
| // Group 1: sentence | |
| // Capture 0: This | |
| // Capture 1: is | |
| // Capture 2: the | |
| // Capture 3: first | |
| // Capture 4: sentence | |
| // Group 2: sentence | |
| // Capture 0: This | |
| // Capture 1: is | |
| // Capture 2: the | |
| // Capture 3: first | |
| // Capture 4: sentence | |
| // The match: Is it the beginning of a literary masterpiece? | |
| // Group 0: Is it the beginning of a literary masterpiece? | |
| // Capture 0: Is it the beginning of a literary masterpiece? | |
| // Group 1: masterpiece | |
| // Capture 0: Is | |
| // Capture 1: it | |
| // Capture 2: the | |
| // Capture 3: beginning | |
| // Capture 4: of | |
| // Capture 5: a | |
| // Capture 6: literary | |
| // Capture 7: masterpiece | |
| // Group 2: masterpiece | |
| // Capture 0: Is | |
| // Capture 1: it | |
| // Capture 2: the | |
| // Capture 3: beginning | |
| // Capture 4: of | |
| // Capture 5: a | |
| // Capture 6: literary | |
| // Capture 7: masterpiece | |
| // The match: I think not. | |
| // Group 0: I think not. | |
| // Capture 0: I think not. | |
| // Group 1: not | |
| // Capture 0: I | |
| // Capture 1: think | |
| // Capture 2: not | |
| // Group 2: not | |
| // Capture 0: I | |
| // Capture 1: think | |
| // Capture 2: not | |
| // The match: Instead, it is a nonsensical paragraph. | |
| // Group 0: Instead, it is a nonsensical paragraph. | |
| // Capture 0: Instead, it is a nonsensical paragraph. | |
| // Group 1: paragraph | |
| // Capture 0: Instead, | |
| // Capture 1: it | |
| // Capture 2: is | |
| // Capture 3: a | |
| // Capture 4: nonsensical | |
| // Capture 5: paragraph | |
| // Group 2: paragraph | |
| // Capture 0: Instead | |
| // Capture 1: it | |
| // Capture 2: is | |
| // Capture 3: a | |
| // Capture 4: nonsensical | |
| // Capture 5: paragraph | |
| // | |
| // With explicit captures only: | |
| // The match: This is the first sentence. | |
| // Group 0: This is the first sentence. | |
| // Capture 0: This is the first sentence. | |
| // The match: Is it the beginning of a literary masterpiece? | |
| // Group 0: Is it the beginning of a literary masterpiece? | |
| // Capture 0: Is it the beginning of a literary masterpiece? | |
| // The match: I think not. | |
| // Group 0: I think not. | |
| // Capture 0: I think not. | |
| // The match: Instead, it is a nonsensical paragraph. | |
| // Group 0: Instead, it is a nonsensical paragraph. | |
| // Capture 0: Instead, it is a nonsensical paragraph. | |
| // </Snippet9> |