You need to change your regular expression to only include one match. Then in a Rule further parse out the values you want. There is no way to handle multiple matches from a REGEX in OH as far as I know.
I don’t know what your text looks like but it is always possible. Your REGEX has three matches defined (each set of parens defines a separate match). But lest say you wanted to match all the “tree”:1234 type entries, assuming they are all next to each other. Then you would use a regex similar to .*(["tree":\d*\s*]+).* which will match “tree”: followed by zero or more digits followed by zero or more white space characters, one or more times and return it all as one String.
Then you need to parse the String to extract the individual Items.
Again, you don’t show the original data, but this looks like it could be JSON formatted in which case JSONPATH would be a better choice.
I’m still just seeing a bunch of javascript. And I’m not super great at regular expressions. I pasted the body of that page into a regex tester and your regular expression returns nothing.
I assume you are trying to match the values in this area:
Then you need to write a Rule to extract the tree values from that String and deal with them as desired.
What would be easiest would be to expand the regular expression to match the full JSON text for the forecast, not just the vt1pollenforecast part and then you can use JSONPATH in your Rule to extract the values you need.