Why does this regex match?

I am a bit puzzled by a regex match:

In the above screenshot, the regex matches if I have a no-break space between "81" and "cm". I does not match if I replace the no-break space with a normal space.

This is the regex:

[\d,]*\d((\s?[\x2D\u058A\u1806\u2012\u2014\u2015\uFE63\uFF0D]\s?)|(\s\u2012\s)|(\s\u2012)|(\u2012\s))+\d[\d,]*

As the name suggests, I want it to match when a date range or numerical range is connected with a dash other than an en-dash.

Why does it match here? What did I do wrong?

Daniel