using System; using System.Text.RegularExpressions; using System.Collections.Generic; public class Test { public static void Main() { List nomes = new List { @"Cliente1\Rem\COB0111111.REM.txt", @"Cliente1\Rem\23123123.REM.txt", @"Cliente1\OK\COB02222222.REM.txt", @"Cliente1\Ret\COB0613062019.REM.txt", "COB0613062019.REM.txt", @"Cliente2\COB0613062019.REM.txt", @"Cliente2\Rem\COB0633333.REM.txt", @"Cliente2\Rem\pasta2\COB02123123.REM.txt", @"Cliente2\Bla\Rem\COB0613062019.REM.txt", @"Cliente1\COB0613062019.REM.txt", @"Rem\COB0613062019.REM.txt", "Rem", "Cliente3" }; List nomesValidos = new List(); Regex regex = new Regex(@"^[^\\]+\\Rem\\([^\\]+)$", RegexOptions.IgnoreCase); foreach (string nome in nomes) { Match match = regex.Match(nome); if (match.Success) { nomesValidos.Add(match.Groups[1].Value); } } foreach (string nome in nomesValidos) { Console.WriteLine(nome); } } }