using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.IO;
using System.Text;
public class Test
{
public static void Main()
{
string phoneNumber = "1122"; // "1122" failed
Dictionary<string, string> subPatterns = new Dictionary<string, string>();
subPatterns[@"(?<1>\d)\k<1>(?<2>\d)\k<2>"] = "abba";
subPatterns[@"(?<1>\d)(?<2>\d)\k<2>\k<1>"] = "aabb";
string pattern = string.Join("|", subPatterns.Select(e => e.Key));
foreach (Match m in Regex.Matches(phoneNumber, pattern))
{
if (m.Success)
{
Console.WriteLine("TRUE");
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uVGV4dDsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlzdHJpbmcgcGhvbmVOdW1iZXIgPSAiMTEyMiI7IC8vICIxMTIyIiBmYWlsZWQKICAgICAgICBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPiBzdWJQYXR0ZXJucyA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgc3RyaW5nPigpOwogICAgICAgIHN1YlBhdHRlcm5zW0AiKD88MT5cZClcazwxPig/PDI+XGQpXGs8Mj4iXSA9ICJhYmJhIjsKICAgICAgICBzdWJQYXR0ZXJuc1tAIig/PDE+XGQpKD88Mj5cZClcazwyPlxrPDE+Il0gPSAiYWFiYiI7CiAgICAgICAgc3RyaW5nIHBhdHRlcm4gPSBzdHJpbmcuSm9pbigifCIsIHN1YlBhdHRlcm5zLlNlbGVjdChlID0+IGUuS2V5KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIGZvcmVhY2ggKE1hdGNoIG0gaW4gUmVnZXguTWF0Y2hlcyhwaG9uZU51bWJlciwgcGF0dGVybikpCiAgICAgICAgeyAgICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAobS5TdWNjZXNzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiVFJVRSIpOwogICAgICAgICAgICB9ICAgICAgICAgICAgICAgCiAgICAgICAgfQoJfQp9