1) Первое регулярное выражение пытается выполнить регистронезависимое совпадение, начиная с начала тестовой строки.Затем он соответствует необязательному пробелу, за которым следует все, что находится в теге, за которым следует необязательный пробел, а затем запятая.
Второй соответствует строке, содержащей запятую, за которой следует необязательный пробел, затем следует все, что находится в теге, инеобязательным пробелом, а затем, наконец, запятой.
Думал, что это для C # Я рекомендую выбрать Perl Pocket Reference, который имеет отличный синтаксический справочник Regex.Это очень помогло мне, когда я изучал регулярные выражения 14 лет назад.