static string AddUsePasses(string code, FilterNames filter) { // Question mark makes it non-greedy.... // Matching: UsePass\s*\"ShadowSoftener.*?\" return(Regex.Replace(code, SubShaderSearchString, string.Format("$1\n\tUsePass \"ShadowSoftener/{0}\"", filter.ToString().ToUpper()))); }