В общем, задача довольно тривиальная, есть список некоторых слов
List words;
И некоторый текст, хранящийся в переменной
String text;
Нужно посчитать кол-во мест, где встречается любое слово из words, при условии, что оно перед запятой.
Не вижу смысла в регулярках для такой задачи.
Простой пример кода, который подсчитает подходящие слова перед запятой (грубый набросок, не исключаю опечатки):
int GetCountOfWordsBeforeComma(string text, List<string> words)
{
var commaIndex = text.IndexOf(",");
if (commaIndex == -1) return words.Count();
var result = 0;
foreach(var word in words)
{
if (text.IndexOf(word) < commaIndex)
{
++result;
}
}
return result;
}