temp_re = re.compile(
    '(temp1:)\\s+(\\+|-)(\\d+\\.\\d+)\xb0C\\s+\\(crit\\s+=\\s+(\\+|-)(\\d+\\.\\d+)\xb0C\\).*'
    , flags=re.UNICODE)
print(temp_re.findall(data))
How to portably parse the (Unicode) degree symbol with regular expressions?