using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var pattern = @"^\$*(?:(?<v>\d{1,3})(?:,(?<v>\d{3}))*|(?<v>\d+))(?<v>\.\d+)?$";
var tests = new[] {"$100", "$12,203.00", "12JAN2022"};
foreach (var test in tests) {
var result = string.Concat(Regex.Match(test, pattern)?
.Groups["v"].Captures.Cast<Capture>().Select(x => x.Value));
Console.WriteLine("{0} -> {1}", test, result.Length > 0 ? result : "No match");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBwYXR0ZXJuID0gQCJeXCQqKD86KD88dj5cZHsxLDN9KSg/OiwoPzx2PlxkezN9KSkqfCg/PHY+XGQrKSkoPzx2PlwuXGQrKT8kIjsKCQl2YXIgdGVzdHMgPSBuZXdbXSB7IiQxMDAiLCAiJDEyLDIwMy4wMCIsICIxMkpBTjIwMjIifTsKICAgICAgICBmb3JlYWNoICh2YXIgdGVzdCBpbiB0ZXN0cykgewogICAgICAgIAl2YXIgcmVzdWx0ID0gc3RyaW5nLkNvbmNhdChSZWdleC5NYXRjaCh0ZXN0LCBwYXR0ZXJuKT8KICAgICAgICAJICAgIC5Hcm91cHNbInYiXS5DYXB0dXJlcy5DYXN0PENhcHR1cmU+KCkuU2VsZWN0KHggPT4geC5WYWx1ZSkpOwogICAgICAgIAlDb25zb2xlLldyaXRlTGluZSgiezB9IC0+IHsxfSIsIHRlc3QsIHJlc3VsdC5MZW5ndGggPiAwID8gcmVzdWx0IDogIk5vIG1hdGNoIik7CiAgICAgICAgfQoJfQp9