Hi Radu,
I gave it a shot. I did notice what you're saying if I put 50 in as the group number, but that regex doesn't match anyway. I found 48 got me the last value in the set using (?:.*?temp_c":(\d+[.]\d+).*?){48} 48 matched fairly quickly, and all lower numbers should match faster.
It sounds like you're getting each value into its own data point? You could also try something like grabbing the entire string into a regex (regex .* value index 0), and parsing it using a script like....
if(httpForecast.time > scriptRun.time) {
var forecast = JSON.parse(httpForecast.value);
for( var k = 0; k < forecast.forecast.forecastday.length; k+=1 ) {
var day = forecast.forecast.forecastday[k];
for( var i = 0; i < day.hour.length; i += 1 ) {
var hour = day.hour*;
forecastOutputPoint.set( hour.temp_c, DateTimeUtility.parseDate("yyyy-dd-MM HH:mm", hour.time, "America/Toronto") );
}
}
scriptRun.set(!scriptRun.value);
}
Where forecastOutputPoint is a Numeric point log all data on the scripting data source, and scriptRun is a binary point on the scripting data source. If I didn't make any mistakes this should have all the values appear in forecastOutputPoint any time the http gets a new forecast and the script runs to parse it.