HomeSearch

C# RegexOptions.Multiline

Use Regex.Matches and RegexOptions.Multiline to simplify handling multiple lines at once.
RegexOptions.Multiline. This Regex option makes handling multiple lines easier. With it, we can apply a regular expression over an input string that has many lines.
Details, problem. Each line in the input string should be tested against the entire regular expression. To restate, a newline means a separate part of the string.Regex
An example. We deal with specific control characters in the regular expression pattern. We can use the "^" char to specify the start of the input string, and "$" to specify the end of it.

Example: We specify one or more characters between the start and the end of each line. The plus means "one or more."

Plus

Capture: The pattern matches each line in a capture. We use 2 foreach-loops to enumerate the results and print them to the screen.

Foreach

Info: We see how the RegexOptions.Multiline argument was passed as the third parameter to the Regex.Matches static method.

C# program that uses RegexOptions.Multiline using System; using System.Text.RegularExpressions; class Program { static void Main() { // Input string. const string example = @"This string has two lines"; // Get a collection of matches with the Multiline option. MatchCollection matches = Regex.Matches(example, "^(.+)$", RegexOptions.Multiline); foreach (Match match in matches) { // Loop through captures. foreach (Capture capture in match.Captures) { // Display them. Console.WriteLine("--" + capture.Value); } } } } Output --This string --has two lines
Notes, RegexOptions. We can use an enumerated constant with Regex methods. There are other RegexOptions you can consider. For complicate problems, a RegexOptions enum is often needed.RegexOptions.CompiledRegexOptions.IgnoreCase
A summary. RegexOptions.Multiline is useful for treating each separate line in an input string as a separate input. This can make dealing with long input strings much easier.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls