using System.Text.RegularExpressions;
private const string TOPIC_PREFIX = "com.apple.mgmt.External.";
public static void Main()
var i1 = "7fb7e49b-5d33-4860-9ccc-eada0a4f6b07";
var i2 = "com.apple.mGmt.External.7fb7e49b-5d33-4860-9ccc-eada0a4f6b07";
var i3 = "com.apple.mgmt.External.com.apple.mgmt.External.7fb7e49b-5d33-4860-9ccc-eada0a4f6b07";
var o1 = AddTopicPrefix(i1);
var o2 = AddTopicPrefix(i2);
var o3 = AddTopicPrefix(i3);
Console.WriteLine("---");
Console.WriteLine("---");
private static string AddTopicPrefix(string topic)
string input = topic.ToLower();
input = input.Replace("external", "External");
string result = string.Empty;
string UUIDstr = "([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$";
Regex fullRegex = new Regex("^" + TOPIC_PREFIX + UUIDstr);
Regex partialRegex = new Regex("^" + UUIDstr);
if (fullRegex.IsMatch(input))
else if (partialRegex.IsMatch(input))
result = TOPIC_PREFIX + input;