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)" , "[12345.1234 .. 0)" , "[1.23456 .. 0" } ;
var pattern = new Regex( @"^\[(-?\d{1,4}(?:\.\d{1,4})?) \.\. (-?\d{1,4}(?:\.\d{1,4})?)\)$" ) ;
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}'." ) ;
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciB0ZXh0cyA9IG5ldyBMaXN0PHN0cmluZz4geyAiWzEwIC4uIDE1KSIsICJbMTAwIC4uIDE1LjIpIiwgIlsxMC40MzEgLi4gMTUpIiwgIlstMTAuMyAuLiAtNSkiLCAiWy0xMC40IC4uIDUuMTIpIiwgIlsxMC40MzEyIC4uIC01LjEyMzIpIiwgIlsxMjM0NS4xMjM0IC4uIDApIiwgIlsxLjIzNDU2IC4uIDAiIH07CgkJdmFyIHBhdHRlcm4gPSBuZXcgUmVnZXgoQCJeXFsoLT9cZHsxLDR9KD86XC5cZHsxLDR9KT8pIFwuXC4gKC0/XGR7MSw0fSg/OlwuXGR7MSw0fSk/KVwpJCIpOwoJCWZvcmVhY2ggKHZhciBzIGluIHRleHRzKSAKCQl7CgkJICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiLS0tLSB7c30gLS0tLSIpOwoJCSAgICB2YXIgbWF0Y2ggPSBwYXR0ZXJuLk1hdGNoKHMpOwoJCSAgICBpZiAobWF0Y2guU3VjY2VzcykgCgkJICAgIHsKCQkgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiR3JvdXAgMToge21hdGNoLkdyb3Vwc1sxXS5WYWx1ZX0sIEdyb3VwIDI6IHttYXRjaC5Hcm91cHNbMl0uVmFsdWV9Iik7CgkJICAgIH0KCQkgICAgZWxzZQoJCSAgICB7CgkJICAgICAgICBDb25zb2xlLldyaXRlTGluZSgkIk5vIG1hdGNoIGZvdW5kIGluICd7c30nLiIpOwoJCSAgICB9CgkJfQoJfQp9
stdout
---- [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
---- [12345.1234 .. 0) ----
No match found in '[12345.1234 .. 0)'.
---- [1.23456 .. 0 ----
No match found in '[1.23456 .. 0'.