c#regex.match似乎起作用的方式是返回的唯一捕获组值包括与模式匹配的整个字符串。相反,我只想要1美元。现在,我必须执行第二步过程以清理结果。有没有一种更清洁的方法可以减少到一级?
var lineText = @"Reservations 03Mar19";
var m1Pattern = @"^\s*Reservations.*\b(\d{2}\w{3}\d{2})$";
Match m1 = Regex.Match(lineText, m1Pattern);
if (m1.Success) MyDate = Regex.Replace(m1.Groups[0].Captures[0].Value, m1Pattern, @"$1");