using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var dct = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) {
{ "english", "en"},
{ "german", "de"},
{ "italian", "it" }
};
//var url = "http://w...content-available-to-author-only...e.org/english/"; // http://e...content-available-to-author-only...e.org/
var url = "https://w...content-available-to-author-only...e.org/German/"; // https://d...content-available-to-author-only...e.org/
string pat = @"(?i)^(https?://)www\.(.*?)/(english|german|italian)/.*$";
Console.WriteLine(Regex.Replace(url, pat, m => {
var val = "";
return dct.TryGetValue(m.Groups[3].Value, out val) ?
$"{m.Groups[1].Value}{dct[m.Groups[3].Value]}.{m.Groups[2].Value}/" :
$"{m.Groups[1].Value}{m.Groups[3].Value}.{m.Groups[2].Value}/";
}
)
);
// //http://e...content-available-to-author-only...e.org/
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBkY3QgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4oU3RyaW5nQ29tcGFyZXIuT3JkaW5hbElnbm9yZUNhc2UpIHsKCQkgICAgeyAiZW5nbGlzaCIsICJlbiJ9LAoJCSAgICB7ICJnZXJtYW4iLCAiZGUifSwKCQkgICAgeyAiaXRhbGlhbiIsICJpdCIgfQoJCX07CgkJLy92YXIgdXJsID0gImh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLm9yZy9lbmdsaXNoLyI7IC8vIGh0dHA6Ly9lLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLm9yZy8KCQl2YXIgdXJsID0gImh0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5vcmcvR2VybWFuLyI7IC8vIGh0dHBzOi8vZC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5vcmcvCgkJc3RyaW5nIHBhdCA9IEAiKD9pKV4oaHR0cHM/Oi8vKXd3d1wuKC4qPykvKGVuZ2xpc2h8Z2VybWFufGl0YWxpYW4pLy4qJCI7CgkJQ29uc29sZS5Xcml0ZUxpbmUoUmVnZXguUmVwbGFjZSh1cmwsIHBhdCwgbSA9PiB7CgkJCSAgICB2YXIgdmFsID0gIiI7CQoJCQkgICAgcmV0dXJuIGRjdC5UcnlHZXRWYWx1ZShtLkdyb3Vwc1szXS5WYWx1ZSwgb3V0IHZhbCkgPwoJCQkgICAgICAkInttLkdyb3Vwc1sxXS5WYWx1ZX17ZGN0W20uR3JvdXBzWzNdLlZhbHVlXX0ue20uR3JvdXBzWzJdLlZhbHVlfS8iIDoKCQkJICAgICAgJCJ7bS5Hcm91cHNbMV0uVmFsdWV9e20uR3JvdXBzWzNdLlZhbHVlfS57bS5Hcm91cHNbMl0uVmFsdWV9LyI7CgkJCSAgfQoJCQkpCgkJKTsKCQkvLyAvL2h0dHA6Ly9lLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLm9yZy8KICAgICAgICAJCgl9Cn0=