Parse txt value problem with negative temp

How to parse this :

AN=C+000000.1894,C-000003.3400,C+000023.7700,

to have 3 different values ?

I try this parse with this code but this is only for temp value without negation mark

for state in string.gmatch(data, "AN=(..........................................)") do
	debug(string.format("getStatus: state temp: %s", state))
	local c = 0 
	for	word in string.gmatch(state, "%d%d%p%d+") do 
		local status = string.format("%4.2f", word)
		-- debug(string.format("getStatus: for: Temp-%d - %s", c,status))
		local device = findChild(PARENT_DEVICE, string.format("Temp-%d", c))
		if (device ~= nil) then
			luup.variable_set(TEMP_SID, "CurrentTemperature", status, device)
		end
		c = c + 1
	end
end			
string.match("[-+]%d-%p%d+")

Or something like that. “[-+]” will match either of the enclosed characters. I also put in %d- before your decimal point so that it matches all the digits between the sign and the point, not just the last two.

Its working
Thanks ;D