using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var strs = new List<string> { "*10.18).xlsx", "*(23.10.18).xlsx" };
var block = @"[][+&|!(){}^""~?: \\/-]";
var rx = new Regex($@"(\*)({block}?)|{block}");
foreach (var str in strs) {
string reg = "id:" + rx.Replace(str, m =>
m.Groups[1].Success ? $"*\\{m.Groups[2].Value}" : $"\\{m.Value}");
Console.WriteLine(reg);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzdHJzID0gbmV3IExpc3Q8c3RyaW5nPiB7ICIqMTAuMTgpLnhsc3giLCAiKigyMy4xMC4xOCkueGxzeCIgfTsKCQl2YXIgYmxvY2sgPSBAIltdWysmfCEoKXt9XiIifj86IFxcLy1dIjsKCQl2YXIgcnggPSBuZXcgUmVnZXgoJEAiKFwqKSh7YmxvY2t9Pyl8e2Jsb2NrfSIpOwogICAgCWZvcmVhY2ggKHZhciBzdHIgaW4gc3RycykgewogICAgCQlzdHJpbmcgcmVnID0gImlkOiIgKyByeC5SZXBsYWNlKHN0ciwgbSA9PgogICAgCQkJbS5Hcm91cHNbMV0uU3VjY2VzcyA/ICQiKlxce20uR3JvdXBzWzJdLlZhbHVlfSIgOiAkIlxce20uVmFsdWV9Iik7CiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKHJlZyk7CiAgICAJfQoJfQp9