using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string text = @"It is @google.com or @google w@google \@google \\@google";
string result = SafeReplace(text,"@google", "some domain", true);
Console.WriteLine(result);
}
public static string SafeReplace(string input, string find, string replace, bool matchWholeWord)
{
string textToFind = matchWholeWord ? string.Format(@"(?<!\S){0}(?!\S)", Regex.Escape(find)) : find;
return Regex.Replace(input, textToFind, replace.Replace("$","$$"));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgkJCQkJCnB1YmxpYyBjbGFzcyBQcm9ncmFtCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlzdHJpbmcgdGV4dCA9IEAiSXQgaXMgQGdvb2dsZS5jb20gb3IgQGdvb2dsZSB3QGdvb2dsZSBcQGdvb2dsZSBcXEBnb29nbGUiOwogIAkJc3RyaW5nIHJlc3VsdCA9IFNhZmVSZXBsYWNlKHRleHQsIkBnb29nbGUiLCAic29tZSBkb21haW4iLCB0cnVlKTsKCQlDb25zb2xlLldyaXRlTGluZShyZXN1bHQpOwoJfQoJCgkKCXB1YmxpYyBzdGF0aWMgc3RyaW5nIFNhZmVSZXBsYWNlKHN0cmluZyBpbnB1dCwgc3RyaW5nIGZpbmQsIHN0cmluZyByZXBsYWNlLCBib29sIG1hdGNoV2hvbGVXb3JkKQogICAgewogICAgICAgIHN0cmluZyB0ZXh0VG9GaW5kID0gbWF0Y2hXaG9sZVdvcmQgPyBzdHJpbmcuRm9ybWF0KEAiKD88IVxTKXswfSg/IVxTKSIsIFJlZ2V4LkVzY2FwZShmaW5kKSkgOiBmaW5kOwogICAgICAgIHJldHVybiBSZWdleC5SZXBsYWNlKGlucHV0LCB0ZXh0VG9GaW5kLCByZXBsYWNlLlJlcGxhY2UoIiQiLCIkJCIpKTsKICAgIH0KfQ==