Canes rally to edge Rangers, 4-3