Люди иногда делают такие вещи
label_value = r'\w=-?\d{1,3}(\.\d{1,2})?'
line = r'^C:{0}:{0}:{0};$'.format( label_value )
line_pat= re.compile( line )
Это немного умнее.
label_value = r'(\w)=(-?\d{1,3}(?:\.\d{1,2})?)'
line = r'^C:{0}:{0}:{0};$'.format( label_value )
line_pat= re.compile( line )
Почему?Он собирает метку и все значение с плавающей запятой, а не только цифры справа от десятичной точки.
В маловероятном случае, если порядок меток на самом деле имеет значение .
value = r'(-?\d{1,3}(?:\.\d{1,2})?)'
line = r'^C:x={0}:y={0}:z={0};$'.format( value )
line_pat= re.compile( line )
Для этого требуются три метки в указанном порядке.Одна из тех вещей, которая может измениться.