using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
var variablesDictionary = new Dictionary<string, string>();
variablesDictionary.Add("$$@Unknown", "11111111111111111111");
variablesDictionary.Add("$$@Key", "Value");
var pattern = @"\$\$@[a-zA-Z0-9_]+\b";
var stringVariableMatches = Regex.Replace("$$@Unknown and $$@Key", pattern,
m => {
Console.WriteLine(m.Index);
Console.WriteLine(m.Length);
return variablesDictionary.ContainsKey(m.Value) ? variablesDictionary[m.Value] : m.Value;
});
Console.WriteLine(stringVariableMatches);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5MaW5xOwpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIHZhcmlhYmxlc0RpY3Rpb25hcnkgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4oKTsKCQl2YXJpYWJsZXNEaWN0aW9uYXJ5LkFkZCgiJCRAVW5rbm93biIsICIxMTExMTExMTExMTExMTExMTExMSIpOwoJCXZhcmlhYmxlc0RpY3Rpb25hcnkuQWRkKCIkJEBLZXkiLCAiVmFsdWUiKTsKCQl2YXIgcGF0dGVybiA9IEAiXCRcJEBbYS16QS1aMC05X10rXGIiOwoJCXZhciBzdHJpbmdWYXJpYWJsZU1hdGNoZXMgPSBSZWdleC5SZXBsYWNlKCIkJEBVbmtub3duIGFuZCAkJEBLZXkiLCBwYXR0ZXJuLCAKCQkgICAgICAgIG0gPT4gewoJCSAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKG0uSW5kZXgpOwoJCSAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKG0uTGVuZ3RoKTsKCQkgICAgICAgIAlyZXR1cm4gdmFyaWFibGVzRGljdGlvbmFyeS5Db250YWluc0tleShtLlZhbHVlKSA/IHZhcmlhYmxlc0RpY3Rpb25hcnlbbS5WYWx1ZV0gOiBtLlZhbHVlOwoJCSAgICAgICAgfSk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nVmFyaWFibGVNYXRjaGVzKTsKCX0KCQoJCn0KCg==