Вы можете использовать это регулярное выражение:
(?<days>\d+)d\D*(?<hours>\d+)h\D*(?<minutes>\d+)m\D*
, что соответствует 10days25hours15minutes
и 10d25h15m
.(а также другие)
Возможно, вы захотите сделать его более точным в соответствии с вашими потребностями.
Пример кода:
var match = System.Text.RegularExpressions.Regex.Match("10days25hours15minutes", @"(?<days>\d+)d\D*(?<hours>\d+)h\D*(?<minutes>\d+)m\D*", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (match.Success)
{
Console.WriteLine("Days: {0} Hours: {1} Minutes: {2}", match.Groups["days"], match.Groups["hours"], match.Groups["minutes"]);
}