using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(lease\s(?P<ip>[0-9\.]+)\s{.+})";
string input = @"lease 10.31.31.131 {
starts 0 2014/08/31 14:54:11;
ends 0 2014/08/31 15:04:11;
cltt 0 2014/08/31 14:54:11;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet d0:e7:82:19:8e:ec;
set ddns-rev-name = ""131.31.31.10.in-addr.arpa."";
set ddns-txt = ""0044522956d8e56b0f40798743a0660994"";
set ddns-fwd-name = ""Chromecast.example."";
client-hostname ""Chromecast"";
}
lease 10.31.31.133 {
starts 0 2014/08/31 14:54:51;
ends 0 2014/08/31 15:04:51;
cltt 0 2014/08/31 14:54:51;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:18:0a:22:2f:9f;
uid ""\001\000\030\012\""/\237"";
set ddns-rev-name = ""133.31.31.10.in-addr.arpa."";
set ddns-txt = ""31897a4f3a66a2733b86a7cd3b0b0b2923"";
set ddns-fwd-name = ""ap-1-00180a222f9f.example."";
client-hostname ""ap-1-00180a222f9f"";
}
";
RegexOptions options = RegexOptions.Multiline | RegexOptions.Singleline;
Match m = Regex.Match(input, pattern, options);
Console.WriteLine("'{0}' found at index {1}", m.Value, m.Index);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx