using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var texts = new List<string> { "[10 .. 15)", "[100 .. 15.2)", "[10.431 .. 15)", "[-10.3 .. -5)", "[-10.4 .. 5.12)", "[10.4312 .. -5.1232)" };
var pattern = new Regex(@"^\[(-?\d+(?:\.\d+)?) \.\. (-?\d+(?:\.\d+)?)\)$");
foreach (var s in texts)
{
Console.WriteLine($"---- {s} ----");
var match = pattern.Match(s);
if (match.Success)
{
Console.WriteLine($"Group 1: {match.Groups[1].Value}, Group 2: {match.Groups[2].Value}");
}
else
{
Console.WriteLine($"No match found in '{s}'.");
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciB0ZXh0cyA9IG5ldyBMaXN0PHN0cmluZz4geyAiWzEwIC4uIDE1KSIsICJbMTAwIC4uIDE1LjIpIiwgIlsxMC40MzEgLi4gMTUpIiwgIlstMTAuMyAuLiAtNSkiLCAiWy0xMC40IC4uIDUuMTIpIiwgIlsxMC40MzEyIC4uIC01LjEyMzIpIiB9OwogICAgCXZhciBwYXR0ZXJuID0gbmV3IFJlZ2V4KEAiXlxbKC0/XGQrKD86XC5cZCspPykgXC5cLiAoLT9cZCsoPzpcLlxkKyk/KVwpJCIpOwogICAgICAgIGZvcmVhY2ggKHZhciBzIGluIHRleHRzKSAKICAgICAgICB7CiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKCQiLS0tLSB7c30gLS0tLSIpOwogICAgICAgIAl2YXIgbWF0Y2ggPSBwYXR0ZXJuLk1hdGNoKHMpOwogICAgICAgIAlpZiAobWF0Y2guU3VjY2VzcykgCiAgICAgICAgCXsKICAgICAgICAJCUNvbnNvbGUuV3JpdGVMaW5lKCQiR3JvdXAgMToge21hdGNoLkdyb3Vwc1sxXS5WYWx1ZX0sIEdyb3VwIDI6IHttYXRjaC5Hcm91cHNbMl0uVmFsdWV9Iik7CiAgICAgICAgCX0KICAgICAgICAJZWxzZQogICAgICAgIAl7CiAgICAgICAgCQlDb25zb2xlLldyaXRlTGluZSgkIk5vIG1hdGNoIGZvdW5kIGluICd7c30nLiIpOwogICAgICAgIAl9CiAgICAgICAgfQoJfQp9
---- [10 .. 15) ----
Group 1: 10, Group 2: 15
---- [100 .. 15.2) ----
Group 1: 100, Group 2: 15.2
---- [10.431 .. 15) ----
Group 1: 10.431, Group 2: 15
---- [-10.3 .. -5) ----
Group 1: -10.3, Group 2: -5
---- [-10.4 .. 5.12) ----
Group 1: -10.4, Group 2: 5.12
---- [10.4312 .. -5.1232) ----
Group 1: 10.4312, Group 2: -5.1232