using System; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var delim = new string[] {"fox", "lazy"}; var delimGroup = "(?:"+string.Join("|", delim.Select(Regex.Escape))+")"; var pattern = @"\s(?="+delimGroup+")|(?<="+delimGroup+@")\s"; var x = Regex.Split( "quick brown fox jumps over the lazy dog" , pattern ); Console.WriteLine(pattern); foreach (var s in x) Console.WriteLine("[{0}]", s); } }