using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var markdown = "[url=https://stackoverflow.com/a b]SO[/url]";
var p = @"(?i)\[url=([^]]+)](.*?)\[/url]";
var result = Regex.Replace(markdown, p, x =>
$"[{x.Groups[2].Value}]({x.Groups[1].Value.Replace(" ","%20")})");
Console.WriteLine(result);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBtYXJrZG93biA9ICJbdXJsPWh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYSBiXVNPWy91cmxdIjsKCQl2YXIgcCA9IEAiKD9pKVxbdXJsPShbXl1dKyldKC4qPylcWy91cmxdIjsKCQl2YXIgcmVzdWx0ID0gUmVnZXguUmVwbGFjZShtYXJrZG93biwgcCwgeCA9PiAKCQkJJCJbe3guR3JvdXBzWzJdLlZhbHVlfV0oe3guR3JvdXBzWzFdLlZhbHVlLlJlcGxhY2UoIiAiLCIlMjAiKX0pIik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUocmVzdWx0KTsKCX0KfQ==