Как в C# Проверить наличие нескольких элементов в строке

Подскажите, пожалуйста, как можно проверить наличие нескольких слов из списка List, в строке string? Сейчас я использую данный метод, который делает проверку для каждого элемента, возможно ли сделать это за один раз?

 List<string> models = new List<string>();
 foreach (object name in checkedListBox2.CheckedItems)
        {
            models.Add(name.ToString());
        }

 models.ForEach(x =>
        {
            if (content.Contains(x))
            {
                SetTextSafe(x + " на " + page + " странице" + "\r\n");
            }


        });

Ответы (2 шт):

Автор решения: OXYGEN

Вот регулярка ее попробуйте

проверяет наличие двух слов в одной строке слова на и странице

        string test = "было на но другой странице";
        Regex check = new Regex("^(?=.*\\bна\\b)(?=.*\\bстранице\\b).*$");
        if (check.IsMatch(test))
        {
            //найдено 
        }
        else
        {
            //не найдено 
        }
→ Ссылка
Автор решения: Sergey
public void Check(string input, IEnumerable<string> words)
    {
        var builder = new StringBuilder("^");

        foreach (var word in words)
            builder.Append($"(?=.*\\b{word}\\b)");
        builder.Append(".*$");

        var check = new Regex(builder.ToString());
        if (check.IsMatch(input))
        {
            //найдено 
        }
        else
        {
            //не найдено 
        }
    }
→ Ссылка