using System.Text.RegularExpressions;
public static void Main()
var pattern = @"^urn:(?<system>[a-zA-Z][a-zA-Z0-9-]+):(?<domain>[a-zA-Z][a-zA-Z0-9-]+):(?<component>[a-zA-Z][a-zA-Z0-9-]+)(\/(?<instance>[a-zA-Z0-9-]+))*-(?<kind>(api|web|worker|cron|package))$";
var curn = "urn:petsmart:digital:mobileexperience-api";
var match = Regex.Match(curn, pattern);
Console.WriteLine(match.Groups["system"]);
Console.WriteLine(match.Groups["domain"]);
Console.WriteLine(match.Groups["component"]);
Console.WriteLine(match.Groups["kind"]);
Console.WriteLine(match.Groups["instance"]);
Console.WriteLine($"petsmartcloud.com/{match.Groups["domain"]}/{match.Groups["component"]}/{match.Groups["kind"]}");