I can only see your output, not what the regex is getting. For instance, if there is space between the weight and colon, that might explain things.
Can you show what the
Can you show what the
entry
object is during the loop? At least a couple with and without the color or semicolon.