Group main_title(?P<main_title>^[A-Za-z]+) ^start of string
+matches at least one character from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
\s?optionally matches a Unicode whitespace character
\|the literal | (12410 / 1748 / 7C16)
\s?optionally matches a Unicode whitespace character
Group show_title(?P<show_title>.*[^\s]) .*any Unicode character (except for line terminators), repeated any number of times
Negated Character Class[^\s] \sa Unicode whitespace character
\s?optionally matches a Unicode whitespace character
-the literal - (4510 / 558 / 2D16)
\s?optionally matches a Unicode whitespace character
Group date(?P<date>[a-zA-Z]+\s\d+) +matches at least one character from the set below:
a-zone character from a (9710) to z (12210) (case sensitive)
A-Zone character from A (6510) to Z (9010) (case sensitive)
\sa Unicode whitespace character
\d+a Unicode decimal digit, repeated at least once
\s?optionally matches a Unicode whitespace character
-the literal - (4510 / 558 / 2D16)
\s?optionally matches a Unicode whitespace character
Group show_artist(?P<show_artist>\w+\s?\W?\w+) \w+a Unicode word character, repeated at least once
\s?optionally matches a Unicode whitespace character
\W?optionally matches any character that is not a Unicode word character
\w+a Unicode word character, repeated at least once
g modifier: global. Finds all matches instead of stopping after the first