using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; public class Test { public static void Main() { var ColumnNames = new List { "owner", "name", "owner-name"}; ColumnNames = ColumnNames.OrderByDescending(x => x.Length).ToList(); var s = "SELECT abc.name,abc.owner-name FROM XXX"; var pattern = $@"\b(?:{string.Join("|", ColumnNames)})\b"; Console.WriteLine(pattern); var result = Regex.Replace(s, pattern, "\"$&\""); Console.WriteLine(result); } }