.*?any Unicode character (except for line terminators), repeated any number of times
\P{L}*?characters not matched by \p{L}, repeated any number of times
Group 1(\p{L}+-?(\p{L}+)?) \p{L}+any Unicode letter, repeated at least once
-?optionally matches the literal - (4510 / 558 / 2D16)
?repeats the group contents below at most once:
\p{L}+any Unicode letter, repeated at least once
\P{L}*characters not matched by \p{L}, repeated any number of times
$end of line
u modifier: unicode. Treats the pattern and subject as UTF-16
g modifier: global. Finds all matches instead of stopping after the first
m modifier: multiline. Causes ^ and $ to match the start and end of each line, not only the start and end of the string