Alternativ kannst Du das in diesem Fall auch ohne Lookaround machen,
da Du hier keine Ersetzung vornimmst und $str ohnehin jede Klammer abbildet.
// das ginge also auch, bitte Unterschied bei $str[0] beachten
preg_match( '/([0-9]+)(?:°|°)C/', $arr[0], $str );
Grüsse