Regex определенно возможен, хотя, будет ли он «аккуратнее» или более читабельным, зависит от личных предпочтений и вашей способности читать регулярные выражения. Если фактический вариант использования этого действительно просто читает эти два цвета, а не произвольное количество цветов, то я, вероятно, просто останусь с оригинальным решением. Цель ясна при сохранении простоты кода и позволяет избежать мелких ошибок, если регулярные выражения не являются вашей сильной стороной.
LINQ, вероятно, является наиболее читаемым вариантом и легко позволяет считывать несколько пар ключ-значение, все еще используя простой механизм разделения для анализа данных.
Исходя из моего опыта, чего вам определенно следует избегать в целях удобства обслуживания, так это написание чрезвычайно сложного, общего и, казалось бы, "аккуратного" решения для этой маленькой и простой проблемы.