Thanks Vincent - I had already tried adding the the bits at the beginning and the end, but this fails.
The regex in my example is using look aheads and look behinds to parse just string from the middle.
I have also attempting going one further and escaping the speech marks:
REGEX(.(?<=",“summary”:")[\w\s\d](?=",“updated”).*)
Still no luck.
I found an old doc saying that the REGEX transform appended ^ at the start and $ at the en(though I don’t know if this is still trueassume it is, it explains why your ides should resolve the bug.
I have never been really good with regex and it’s always experimentation
What I do is I narrow it down
Start large .*().*
and then start adding stuff inside bit by bit
Unfortunately openHAB REGEX doesn’t behave the way standard REGEX does. For one your REGEX must match the entire message, hence Vincent’s recommendation of adding the .().. Second, you can only have one match (i.e. one ()). If you have multiple matching groups there is no way to tell the REGEX transform which one you actually want. That transform appears to have two matching groups. Finally, you must supply a matching group that defines what part you want from the string.
It looks like what you want is the stuff between "summary":" and ","updated" so the REGEX should look something like:
REGEX(.*"summary":"(.*)",\"updated.*)
The .* matches everything up to the "summary":", the "summary":" is the beginning marker for the text we actually care about, the (.*) matches and returns the text you want to extract, the "updated is the ending marker for the text we actually care about and the .* matches the rest of the String.