В вашем шаблоне вы используете 3 группы захвата.
Вы можете использовать одну группу захвата и получить к ней доступ в коде для захвата c, d, e
.
\bgroup by (\w+(?:, \w+)*)
Объяснение
\bgroup by
Группа совпадений с предшествующей границей слова \b
(
Группа захвата \w+
Совпадение 1+ слово chars (?:, \w+)*
Повторить 0+ раз, сопоставляя пробел и 1+ слово символов.
)
Закрыть группу захвата
Вы можете расширить соответствие \w
, используя класс символов [\w]
и добавить то, что вы хотите сопоставить.
Regex demo