List<string> list = project.Lists["listZM"].ToList();
string var1 = project.Variables["var1"].Value;
string var2 = project.Variables["var2"].Value;
string var3 = project.Variables["var3"].Value;
List<string> resList = list.Where(s => Regex.IsMatch(s, $"[\\w\\W]*{var1}[\\w\\W]*")
&& Regex.IsMatch(s, $"[\\w\\W]*{var2}[\\w\\W]*")
&& Regex.IsMatch(s, $"[\\w\\W]*{var3}[\\w\\W]*"))
.ToList();
project.Lists["listZM"].Clear();
project.Lists["listZM"].AddRange(resList);