Dart RegExp: FormatError: Unterminated group

I get this error and don’t understand why or what it means:

FormatError: Unterminated group (?<root>[A-G](#|b)?)(?<suffix>[^/]*)?(/(?<bass>([A-G](#|b)?))?
const String rootPattern = r"(?<root>[A-G](#|b)?)";
const String suffixPattern = r"(?<suffix>[^/]*)?";
const String bassPattern = r"(/(?<bass>([A-G](#|b)?))?";
final RegExp chordRegex = RegExp("$rootPattern$suffixPattern$bassPattern");

I need to split up chords like this:

Abadd9/C#
root: Ab
suffix: add9
bass: C#